Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 179 lines (165 sloc) 4.912 kB
924ea54 @bos Initial commit
authored
1 name: aeson
7ceeb02 @bos Bump major version
authored
2 version: 0.4.0.0
924ea54 @bos Initial commit
authored
3 license: BSD3
4 license-file: LICENSE
5 category: Text, Web, JSON
6 copyright: Copyright 2011 MailRank, Inc.
bf23c39 @bos Update mailrank addresses to serpentine
authored
7 author: Bryan O'Sullivan <bos@serpentine.com>
8 maintainer: Bryan O'Sullivan <bos@serpentine.com>
924ea54 @bos Initial commit
authored
9 stability: experimental
10 tested-with: GHC == 6.12.3
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
11 synopsis: Fast JSON parsing and encoding
924ea54 @bos Initial commit
authored
12 cabal-version: >= 1.8
bf23c39 @bos Update mailrank addresses to serpentine
authored
13 homepage: http://github.com/bos/aeson
14 bug-reports: http://github.com/bos/aeson/issues
924ea54 @bos Initial commit
authored
15 build-type: Simple
16 description:
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
17 A JSON parsing and encoding library optimized for ease of use
e3982d3 @bos More docs
authored
18 and high performance.
19 .
2acc2ce @bos Doc improvements.
authored
20 To get started, see the documentation for the @Data.Aeson@ module
21 below.
22 .
f70f80d @bos Update docs to refer to the double-conversion problems.
authored
23 /Note/: if you use GHCi or Template Haskell, please see the
24 @README@ file for important details about building this package,
25 and other packages that depend on it:
bf23c39 @bos Update mailrank addresses to serpentine
authored
26 <https://github.com/bos/aeson#readme>
f70f80d @bos Update docs to refer to the double-conversion problems.
authored
27 .
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
28 Parsing performance on a late 2010 MacBook Pro (2.66GHz Core i7),
29 for mostly-English tweets from Twitter's JSON search API:
e3982d3 @bos More docs
authored
30 .
51699e5 @bos Update benchmark results.
authored
31 * 0.8 KB, 32-bit GHC 6.12.3: 30538 msg\/sec (24.9 MB\/sec)
e3982d3 @bos More docs
authored
32 .
51699e5 @bos Update benchmark results.
authored
33 * 0.8 KB, 64-bit GHC 7.0.3: 31204 msg\/sec (25.4 MB\/sec)
e3982d3 @bos More docs
authored
34 .
51699e5 @bos Update benchmark results.
authored
35 * 6.4 KB, 32-bit GHC 6.12.3: 6731 msg\/sec (42.3 MB\/sec)
e3982d3 @bos More docs
authored
36 .
51699e5 @bos Update benchmark results.
authored
37 * 6.4 KB, 64-bit GHC 7.0.3: 6627 msg\/sec (41.7 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
38 .
51699e5 @bos Update benchmark results.
authored
39 * 11.8 KB, 32-bit GHC 6.12.3: 3751 msg\/sec (43.2 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
40 .
51699e5 @bos Update benchmark results.
authored
41 * 11.8 KB, 64-bit GHC 7.0.3: 3381 msg\/sec (38.9 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
42 .
43 * 31.2 KB, 32-bit GHC 6.12.3: 1306 msg\/sec (39.8 MB\/sec)
44 .
51699e5 @bos Update benchmark results.
authored
45 * 31.2 KB, 64-bit GHC 7.0.3: 1132 msg\/sec (34.5 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
46 .
51699e5 @bos Update benchmark results.
authored
47 * 61.5 KB, 32-bit GHC 6.12.3: 616 msg\/sec (37.0 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
48 .
51699e5 @bos Update benchmark results.
authored
49 * 61.5 KB, 64-bit GHC 7.0.3: 534 msg\/sec (32.1 MB\/sec)
cb78de0 @bos Update benchmark results
authored
50 .
51 Handling heavily-escaped text is a little more work. Here is
52 parsing performance with Japanese tweets, where much of the text
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
53 is entirely Unicode-escaped.
cb78de0 @bos Update benchmark results
authored
54 .
51699e5 @bos Update benchmark results.
authored
55 * 14.6 KB, 32-bit GHC 6.12.3: 2315 msg\/sec (33.1 MB\/sec)
cb78de0 @bos Update benchmark results
authored
56 .
51699e5 @bos Update benchmark results.
authored
57 * 14.6 KB, 64-bit GHC 7.0.3: 1986 msg\/sec (28.4 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
58 .
51699e5 @bos Update benchmark results.
authored
59 * 44.1 KB, 32-bit GHC 6.12.3: 712 msg\/sec (30.7 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
60 .
51699e5 @bos Update benchmark results.
authored
61 * 44.1 KB, 64-bit GHC 7.0.3: 634 msg\/sec (27.3 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
62 .
51699e5 @bos Update benchmark results.
authored
63 * 82.9 KB, 32-bit GHC 6.12.3: 377 msg\/sec (30.5 MB\/sec)
047ca3e @bos Update 32-bit GHC 6.12.3 performance
authored
64 .
51699e5 @bos Update benchmark results.
authored
65 * 82.9 KB, 64-bit GHC 7.0.3: 332 msg\/sec (26.9 MB\/sec)
e3982d3 @bos More docs
authored
66 .
67 Encoding performance on the same machine and data:
68 .
636dd41 @bos Bump version, and include happy new performance numbers.
authored
69 * English, 854 bytes: 43439 msg\/sec (35.4 MB/sec)
e3982d3 @bos More docs
authored
70 .
636dd41 @bos Bump version, and include happy new performance numbers.
authored
71 * English, 6.4 KB: 7127 msg\/sec (44.8 MB/sec)
e3982d3 @bos More docs
authored
72 .
636dd41 @bos Bump version, and include happy new performance numbers.
authored
73 * Engish, 61.5 KB: 765 msg\/sec (46.0 MB/sec)
e3982d3 @bos More docs
authored
74 .
636dd41 @bos Bump version, and include happy new performance numbers.
authored
75 * Japanese, 14.6 KB: 4727 msg\/sec (67.5 MB/sec)
76 .
77 * Japanese, 44.1 KB: 1505 msg\/sec (64.8 MB/sec)
78 .
e3982d3 @bos More docs
authored
79 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
80
924ea54 @bos Initial commit
authored
81 extra-source-files:
82 README.markdown
bf72444 @bos Fix missed rename
authored
83 benchmarks/AesonEncode.hs
3568e5e @bos More benchmarkery: try out the json library.
authored
84 benchmarks/AesonParse.hs
85 benchmarks/JsonParse.hs
1dc9a1e @bos Add more benchmark data
authored
86 benchmarks/Makefile
3568e5e @bos More benchmarkery: try out the json library.
authored
87 benchmarks/ReadFile.hs
1dc9a1e @bos Add more benchmark data
authored
88 benchmarks/parse.py
89 benchmarks/json-data/example.json
90 benchmarks/json-data/integers.json
91 benchmarks/json-data/jp10.json
92 benchmarks/json-data/jp50.json
93 benchmarks/json-data/jp100.json
94 benchmarks/json-data/numbers.json
95 benchmarks/json-data/twitter1.json
96 benchmarks/json-data/twitter10.json
97 benchmarks/json-data/twitter20.json
98 benchmarks/json-data/twitter50.json
99 benchmarks/json-data/twitter100.json
e9316c5 @bos Make sure the tests are distributed with the source
authored
100 tests/Makefile
101 tests/Properties.hs
98a7141 @nbogie Added the simplest runnable demo of parsing and generation.
nbogie authored
102 examples/Demo.hs
924ea54 @bos Initial commit
authored
103
104 flag developer
105 description: operate in developer mode
106 default: False
107
108 library
109 exposed-modules:
110 Data.Aeson
00dd59d @bos Support JSON encoding
authored
111 Data.Aeson.Encode
a1ee5a5 @bos Partially implement generic JSON support.
authored
112 Data.Aeson.Generic
924ea54 @bos Initial commit
authored
113 Data.Aeson.Parser
114 Data.Aeson.Types
5b4d384 @roelvandijk Added Data.Aeson.TH, mechanically derived instances
roelvandijk authored
115 Data.Aeson.TH
924ea54 @bos Initial commit
authored
116
a1ee5a5 @bos Partially implement generic JSON support.
authored
117 other-modules:
118 Data.Aeson.Functions
ff8a7d3 @bos Split Types/Internal.hs into 3 files.
authored
119 Data.Aeson.Types.Class
7b678a2 @bos Hide genericToJSON and genericFromJSON.
authored
120 Data.Aeson.Types.Internal
a1ee5a5 @bos Partially implement generic JSON support.
authored
121
ff8a7d3 @bos Split Types/Internal.hs into 3 files.
authored
122 if impl(ghc >= 7.2.1)
ebd766e @basvandijk Merge branch 'master' of git://github.com/mailrank/aeson into optimiz…
basvandijk authored
123 cpp-options: -DGENERICS
940449f @basvandijk Use the dlist package instead of using our own DList type
basvandijk authored
124 build-depends: ghc-prim >= 0.2, dlist >= 0.2
ff8a7d3 @bos Split Types/Internal.hs into 3 files.
authored
125 other-modules:
126 Data.Aeson.Types.Generic
127
924ea54 @bos Initial commit
authored
128 build-depends:
54a3ae3 @bos Bump version, and performance-dependent version of attoparsec needed
authored
129 attoparsec >= 0.8.6.1,
924ea54 @bos Initial commit
authored
130 base == 4.*,
00dd59d @bos Support JSON encoding
authored
131 blaze-builder >= 0.2.1.4,
f70f80d @bos Update docs to refer to the double-conversion problems.
authored
132 blaze-textual >= 0.2.0.2,
924ea54 @bos Initial commit
authored
133 bytestring,
b84e358 @bos Try an even more robust way of handling containers.
authored
134 containers,
135 deepseq,
1cfcb82 @bos Bump dependency on hashable
authored
136 hashable >= 1.1.2.0,
375627d @bos Switch from monads-fd to mtl, and bump version
authored
137 mtl,
924ea54 @bos Initial commit
authored
138 old-locale,
a1ee5a5 @bos Partially implement generic JSON support.
authored
139 syb,
143c541 @mightybyte Relax template-haskell version bounds and bump version to 0.3.2.13.
mightybyte authored
140 template-haskell >= 2.4,
b84e358 @bos Try an even more robust way of handling containers.
authored
141 text >= 0.11.0.2,
924ea54 @bos Initial commit
authored
142 time,
495182f @bos Bump unordered-containers dependency
authored
143 unordered-containers >= 0.1.3.0,
3755b17 @basvandijk Fix for generic toJSON and parseJSON
basvandijk authored
144 vector >= 0.7.1
924ea54 @bos Initial commit
authored
145
146 if flag(developer)
147 ghc-options: -Werror
d05091c @bos Make developer flag control -auto-all.
authored
148 ghc-prof-options: -auto-all
924ea54 @bos Initial commit
authored
149
150 ghc-options: -Wall
151
2de6eec @bos Add test support.
authored
152 test-suite tests
153 type: exitcode-stdio-1.0
154 hs-source-dirs: tests
155 main-is: Properties.hs
156
157 ghc-options:
158 -Wall -threaded -rtsopts
159
160 build-depends:
6da6d9f @bos Test round-tripping of compound types.
authored
161 QuickCheck,
2de6eec @bos Add test support.
authored
162 aeson,
163 attoparsec,
164 base,
dab66da @bos Try encoding/decoding maps.
authored
165 containers,
2de6eec @bos Add test support.
authored
166 bytestring,
83bcb74 @bos Add template-haskell dependency for tests
authored
167 template-haskell,
2de6eec @bos Add test support.
authored
168 test-framework,
6da6d9f @bos Test round-tripping of compound types.
authored
169 test-framework-quickcheck2,
170 text
2de6eec @bos Add test support.
authored
171
924ea54 @bos Initial commit
authored
172 source-repository head
173 type: git
bf23c39 @bos Update mailrank addresses to serpentine
authored
174 location: http://github.com/bos/aeson
3568e5e @bos More benchmarkery: try out the json library.
authored
175
176 source-repository head
177 type: mercurial
178 location: http://bitbucket.org/bos/aeson
Something went wrong with that request. Please try again.