on 0.6.2.0 help sign in
typeable/aeson/aeson.cabal
178 lines 4.7 kB history raw
1name: aeson
2version: 0.6.2.0
3license: BSD3
4license-file: LICENSE
5category: Text, Web, JSON
6copyright: (c) 2011, 2012, 2013 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 Parsing performance on a late 2010 MacBook Pro (2.66GHz Core i7),
28 for mostly-English tweets from Twitter's JSON search API:
29 .
30 * 0.8 KB, 32-bit GHC 6.12.3: 30538 msg\/sec (24.9 MB\/sec)
31 .
32 * 0.8 KB, 64-bit GHC 7.0.3: 31204 msg\/sec (25.4 MB\/sec)
33 .
34 * 6.4 KB, 32-bit GHC 6.12.3: 6731 msg\/sec (42.3 MB\/sec)
35 .
36 * 6.4 KB, 64-bit GHC 7.0.3: 6627 msg\/sec (41.7 MB\/sec)
37 .
38 * 11.8 KB, 32-bit GHC 6.12.3: 3751 msg\/sec (43.2 MB\/sec)
39 .
40 * 11.8 KB, 64-bit GHC 7.0.3: 3381 msg\/sec (38.9 MB\/sec)
41 .
42 * 31.2 KB, 32-bit GHC 6.12.3: 1306 msg\/sec (39.8 MB\/sec)
43 .
44 * 31.2 KB, 64-bit GHC 7.0.3: 1132 msg\/sec (34.5 MB\/sec)
45 .
46 * 61.5 KB, 32-bit GHC 6.12.3: 616 msg\/sec (37.0 MB\/sec)
47 .
48 * 61.5 KB, 64-bit GHC 7.0.3: 534 msg\/sec (32.1 MB\/sec)
49 .
50 Handling heavily-escaped text is a little more work. Here is
51 parsing performance with Japanese tweets, where much of the text
52 is entirely Unicode-escaped.
53 .
54 * 14.6 KB, 32-bit GHC 6.12.3: 2315 msg\/sec (33.1 MB\/sec)
55 .
56 * 14.6 KB, 64-bit GHC 7.0.3: 1986 msg\/sec (28.4 MB\/sec)
57 .
58 * 44.1 KB, 32-bit GHC 6.12.3: 712 msg\/sec (30.7 MB\/sec)
59 .
60 * 44.1 KB, 64-bit GHC 7.0.3: 634 msg\/sec (27.3 MB\/sec)
61 .
62 * 82.9 KB, 32-bit GHC 6.12.3: 377 msg\/sec (30.5 MB\/sec)
63 .
64 * 82.9 KB, 64-bit GHC 7.0.3: 332 msg\/sec (26.9 MB\/sec)
65 .
66 Encoding performance on the same machine and data:
67 .
68 * English, 854 bytes: 43439 msg\/sec (35.4 MB/sec)
69 .
70 * English, 6.4 KB: 7127 msg\/sec (44.8 MB/sec)
71 .
72 * Engish, 61.5 KB: 765 msg\/sec (46.0 MB/sec)
73 .
74 * Japanese, 14.6 KB: 4727 msg\/sec (67.5 MB/sec)
75 .
76 * Japanese, 44.1 KB: 1505 msg\/sec (64.8 MB/sec)
77 .
78 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
80extra-source-files:
81 README.markdown
82 benchmarks/*.cabal
83 benchmarks/*.hs
84 benchmarks/*.py
85 benchmarks/Makefile
86 benchmarks/json-data/*.json
87 examples/*.hs
88 release-notes.markdown
90flag developer
91 description: operate in developer mode
92 default: False
94library
95 exposed-modules:
96 Data.Aeson
97 Data.Aeson.Encode
98 Data.Aeson.Generic
99 Data.Aeson.Parser
100 Data.Aeson.Types
101 Data.Aeson.TH
103 other-modules:
104 Data.Aeson.Functions
105 Data.Aeson.Parser.Internal
106 Data.Aeson.Types.Class
107 Data.Aeson.Types.Internal
109 if impl(ghc >= 7.2.1)
110 cpp-options: -DGENERICS
111 build-depends: ghc-prim >= 0.2, dlist >= 0.2
112 other-modules:
113 Data.Aeson.Types.Generic
115 build-depends:
116 attoparsec >= 0.8.6.1,
117 base == 4.*,
118 blaze-builder >= 0.2.1.4,
119 bytestring,
120 containers,
121 deepseq,
122 hashable >= 1.1.2.0,
123 mtl,
124 old-locale,
125 syb,
126 template-haskell >= 2.4,
127 text >= 0.11.1.0,
128 time,
129 unordered-containers >= 0.1.3.0,
130 vector >= 0.7.1
132 if flag(developer)
133 ghc-options: -Werror
134 ghc-prof-options: -auto-all
136 ghc-options: -O2 -Wall
138test-suite tests
139 type: exitcode-stdio-1.0
140 hs-source-dirs: tests
141 main-is: Properties.hs
142 other-modules: Functions
143 Instances
144 Types
145 Options
146 Encoders
147 Properties.Deprecated
149 ghc-options:
150 -Wall -threaded -rtsopts
151 if impl(ghc < 7.4)
152 ghc-options: -fcontext-stack=40
153 if impl(ghc >= 7.2)
154 cpp-options: -DGHC_GENERICS
156 build-depends:
157 QuickCheck,
158 aeson,
159 attoparsec,
160 base,
161 containers,
162 bytestring,
163 template-haskell,
164 test-framework,
165 test-framework-quickcheck2,
166 text,
167 time,
168 unordered-containers,
169 vector,
170 ghc-prim >= 0.2
172source-repository head
173 type: git
174 location: git://github.com/bos/aeson.git
176source-repository head
177 type: mercurial
178 location: https://bitbucket.org/bos/aeson