5category: Text, Web, JSON
6copyright: Copyright 2011 MailRank, Inc.
7author: Bryan O'Sullivan <bos@mailrank.com>
8maintainer: Bryan O'Sullivan <bos@mailrank.com>
10tested-with: GHC == 6.12.3
11synopsis: Fast JSON parsing and generation
13homepage: http://github.com/mailrank/aeson
14bug-reports: http://github.com/mailrank/aeson/issues
17 A JSON parsing and generation library optimized for ease of use
20 Parsing performance with GHC 6.12.3 on a late 2010 MacBook Pro
21 (2.66GHz Core i7), for mostly-English tweets from Twitter's JSON
24 * English, 854 bytes: 29029 msg\/sec (23.6 MB/sec)
26 * English, 6.4 KB: 6407 msg\/sec (40.3 MB/sec)
28 * English, 31.2 KB: 1265 msg\/sec (38.8 MB/sec)
30 * English, 61.5 KB: 585 msg\/sec (35.2 MB/sec)
32 Handling heavily-escaped text is a little more work. Here is
33 parsing performance with Japanese tweets, where much of the text
34 is entirely Unicode-escaped:
36 * Japanese, 14.6 KB: 2227 msg\/sec (31.9 MB/sec)
38 * Japanese, 44.1 KB: 671 msg\/sec (29.6 MB/sec)
40 Encoding performance on the same machine and data:
42 * English, 854 bytes: 43439 msg\/sec (35.4 MB/sec)
44 * English, 6.4 KB: 7127 msg\/sec (44.8 MB/sec)
46 * Engish, 61.5 KB: 765 msg\/sec (46.0 MB/sec)
48 * Japanese, 14.6 KB: 4727 msg\/sec (67.5 MB/sec)
50 * Japanese, 44.1 KB: 1505 msg\/sec (64.8 MB/sec)
52 With GHC 7.0.2, the story is mixed: parsing is 20-40% slower than
53 GHC 6.12.3, while encoding performance ranges from about the same
54 to twice as fast (on numeric data).
56 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
60 benchmarks/AesonEncode.hs
61 benchmarks/AesonParse.hs
62 benchmarks/JsonParse.hs
64 benchmarks/ReadFile.hs
66 benchmarks/json-data/example.json
67 benchmarks/json-data/integers.json
68 benchmarks/json-data/jp10.json
69 benchmarks/json-data/jp20.json
70 benchmarks/json-data/jp50.json
71 benchmarks/json-data/jp100.json
72 benchmarks/json-data/numbers.json
73 benchmarks/json-data/twitter1.json
74 benchmarks/json-data/twitter10.json
75 benchmarks/json-data/twitter20.json
76 benchmarks/json-data/twitter50.json
77 benchmarks/json-data/twitter100.json
82 description: operate in developer mode
94 Data.Aeson.Encode.Double
96 Data.Aeson.Encode.Number
100 attoparsec >= 0.8.5.0,
102 blaze-builder >= 0.2.1.4,
114 unordered-containers >= 0.1.2.0,
119 ghc-prof-options: -auto-all
124 cpp-options: -DINTEGER_GMP
125 build-depends: integer-gmp >= 0.2 && < 0.3
127 if impl(ghc >= 6.9) && impl(ghc < 6.11)
128 cpp-options: -DINTEGER_GMP
129 build-depends: integer >= 0.1 && < 0.2
131source-repository head
133 location: http://github.com/mailrank/aeson
135source-repository head
137 location: http://bitbucket.org/bos/aeson
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list