on 0.6.0.2 help sign in
typeable/aeson/aeson.cabal
170 lines 4.6 kB history raw
1name: aeson
2version: 0.6.0.2
3license: BSD3
4license-file: LICENSE
5category: Text, Web, JSON
6copyright: (c) 2011 Bryan O'Sullivan
7 (c) 2011 MailRank, Inc.
8author: Bryan O'Sullivan <bos@serpentine.com>
9maintainer: Bryan O'Sullivan <bos@serpentine.com>
10stability: experimental
11tested-with: GHC == 6.12.3, GHC == 7.0.4, GHC == 7.2.2
12synopsis: Fast JSON parsing and encoding
13cabal-version: >= 1.8
14homepage: https://github.com/bos/aeson
15bug-reports: https://github.com/bos/aeson/issues
16build-type: Simple
17description:
18 A JSON parsing and encoding library optimized for ease of use
19 and high performance.
20 .
21 To get started, see the documentation for the @Data.Aeson@ module
22 below.
23 .
24 For release notes, see
25 <https://github.com/bos/aeson/blob/master/release-notes.markdown>
26 .
27 /Note/: if you use GHCi or Template Haskell, please see the
28 @README@ file for important details about building this package,
29 and other packages that depend on it:
30 <https://github.com/bos/aeson#readme>
31 .
32 Parsing performance on a late 2010 MacBook Pro (2.66GHz Core i7),
33 for mostly-English tweets from Twitter's JSON search API:
34 .
35 * 0.8 KB, 32-bit GHC 6.12.3: 30538 msg\/sec (24.9 MB\/sec)
36 .
37 * 0.8 KB, 64-bit GHC 7.0.3: 31204 msg\/sec (25.4 MB\/sec)
38 .
39 * 6.4 KB, 32-bit GHC 6.12.3: 6731 msg\/sec (42.3 MB\/sec)
40 .
41 * 6.4 KB, 64-bit GHC 7.0.3: 6627 msg\/sec (41.7 MB\/sec)
42 .
43 * 11.8 KB, 32-bit GHC 6.12.3: 3751 msg\/sec (43.2 MB\/sec)
44 .
45 * 11.8 KB, 64-bit GHC 7.0.3: 3381 msg\/sec (38.9 MB\/sec)
46 .
47 * 31.2 KB, 32-bit GHC 6.12.3: 1306 msg\/sec (39.8 MB\/sec)
48 .
49 * 31.2 KB, 64-bit GHC 7.0.3: 1132 msg\/sec (34.5 MB\/sec)
50 .
51 * 61.5 KB, 32-bit GHC 6.12.3: 616 msg\/sec (37.0 MB\/sec)
52 .
53 * 61.5 KB, 64-bit GHC 7.0.3: 534 msg\/sec (32.1 MB\/sec)
54 .
55 Handling heavily-escaped text is a little more work. Here is
56 parsing performance with Japanese tweets, where much of the text
57 is entirely Unicode-escaped.
58 .
59 * 14.6 KB, 32-bit GHC 6.12.3: 2315 msg\/sec (33.1 MB\/sec)
60 .
61 * 14.6 KB, 64-bit GHC 7.0.3: 1986 msg\/sec (28.4 MB\/sec)
62 .
63 * 44.1 KB, 32-bit GHC 6.12.3: 712 msg\/sec (30.7 MB\/sec)
64 .
65 * 44.1 KB, 64-bit GHC 7.0.3: 634 msg\/sec (27.3 MB\/sec)
66 .
67 * 82.9 KB, 32-bit GHC 6.12.3: 377 msg\/sec (30.5 MB\/sec)
68 .
69 * 82.9 KB, 64-bit GHC 7.0.3: 332 msg\/sec (26.9 MB\/sec)
70 .
71 Encoding performance on the same machine and data:
72 .
73 * English, 854 bytes: 43439 msg\/sec (35.4 MB/sec)
74 .
75 * English, 6.4 KB: 7127 msg\/sec (44.8 MB/sec)
76 .
77 * Engish, 61.5 KB: 765 msg\/sec (46.0 MB/sec)
78 .
79 * Japanese, 14.6 KB: 4727 msg\/sec (67.5 MB/sec)
80 .
81 * Japanese, 44.1 KB: 1505 msg\/sec (64.8 MB/sec)
82 .
83 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
85extra-source-files:
86 README.markdown
87 benchmarks/*.cabal
88 benchmarks/*.hs
89 benchmarks/*.py
90 benchmarks/Makefile
91 benchmarks/json-data/*.json
92 examples/*.hs
93 release-notes.markdown
94 tests/Properties.hs
96flag developer
97 description: operate in developer mode
98 default: False
100library
101 exposed-modules:
102 Data.Aeson
103 Data.Aeson.Encode
104 Data.Aeson.Generic
105 Data.Aeson.Parser
106 Data.Aeson.Types
107 Data.Aeson.TH
109 other-modules:
110 Data.Aeson.Functions
111 Data.Aeson.Parser.Internal
112 Data.Aeson.Types.Class
113 Data.Aeson.Types.Internal
115 if impl(ghc >= 7.2.1)
116 cpp-options: -DGENERICS
117 build-depends: ghc-prim >= 0.2, dlist >= 0.2
118 other-modules:
119 Data.Aeson.Types.Generic
121 build-depends:
122 attoparsec >= 0.8.6.1,
123 base == 4.*,
124 blaze-builder >= 0.2.1.4,
125 bytestring,
126 containers,
127 deepseq,
128 hashable >= 1.1.2.0,
129 mtl,
130 old-locale,
131 syb,
132 template-haskell >= 2.4,
133 text >= 0.11.1.0,
134 time,
135 unordered-containers >= 0.1.3.0,
136 vector >= 0.7.1
138 if flag(developer)
139 ghc-options: -Werror
140 ghc-prof-options: -auto-all
142 ghc-options: -O2 -Wall
144test-suite tests
145 type: exitcode-stdio-1.0
146 hs-source-dirs: tests
147 main-is: Properties.hs
149 ghc-options:
150 -Wall -threaded -rtsopts
152 build-depends:
153 QuickCheck,
154 aeson,
155 attoparsec,
156 base,
157 containers,
158 bytestring,
159 template-haskell,
160 test-framework,
161 test-framework-quickcheck2,
162 text
164source-repository head
165 type: git
166 location: git://github.com/bos/aeson.git
168source-repository head
169 type: mercurial
170 location: https://bitbucket.org/bos/aeson