5category: Text, Web, JSON
6copyright: (c) 2011-2014 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 == 7.0, GHC == 7.2, GHC == 7.4, GHC == 7.6
12synopsis: Fast JSON parsing and encoding
14homepage: https://github.com/bos/aeson
15bug-reports: https://github.com/bos/aeson/issues
18 A JSON parsing and encoding library optimized for ease of use
21 To get started, see the documentation for the @Data.Aeson@ module
24 Parsing performance on an early 2011 MacBook Pro (2.2GHz Core i7),
25 running 64-bit GHC 7.6.3, for mostly-English tweets from Twitter's
28 * 0.8 KB: 34124 msg\/sec (27.8 MB\/sec)
30 * 6.4 KB: 6833 msg\/sec (43.0 MB\/sec)
32 * 11.8 KB: 3410 msg\/sec (39.2 MB\/sec)
34 * 31.2 KB: 1157 msg\/sec (35.3 MB\/sec)
36 * 61.5 KB: 542 msg\/sec (32.5 MB\/sec)
38 Handling heavily-escaped text is a little more work. Here is
39 parsing performance with Japanese tweets, where much of the text
40 is entirely Unicode-escaped.
42 * 14.6 KB: 2101 msg\/sec (30.0 MB\/sec)
44 * 44.1 KB: 667 msg\/sec (28.7 MB\/sec)
46 * 82.9 KB: 360 msg\/sec (29.2 MB\/sec)
48 Encoding performance on the same machine and data:
50 * English, 0.8 KB: 109697 msg\/sec (89.3 MB\/sec)
52 * English, 6.4 KB: 18517 msg\/sec (116.4 MB\/sec)
54 * Engish, 61.5 KB: 1963 msg\/sec (118.0 MB\/sec)
56 * Japanese, 14.6 KB: 12140 msg\/sec (173.5 MB\/sec)
58 * Japanese, 44.1 KB: 3980 msg\/sec (171.3 MB\/sec)
60 (A note on naming: in Greek mythology, Aeson was the father of Jason.)
68 benchmarks/json-data/*.json
73 description: operate in developer mode
77 description: Use blaze-builder instead of bytestring >= 0.10
80flag new-bytestring-builder
81 description: Use the new bytestring builder available in bytestring >= 0.10.4.0
95 Data.Aeson.Parser.Internal
96 Data.Aeson.Types.Class
97 Data.Aeson.Types.Instances
98 Data.Aeson.Types.Internal
100 if flag(new-bytestring-builder)
101 other-modules: Data.Aeson.Encode.ByteString
102 build-depends: bytestring >= 0.10.4.0,
105 build-depends: bytestring < 0.10.4.0,
108 if impl(ghc >= 7.2.1)
109 cpp-options: -DGENERICS
110 build-depends: ghc-prim >= 0.2, dlist >= 0.2
112 Data.Aeson.Types.Generic
115 attoparsec >= 0.11.3.4,
122 scientific >= 0.3.1 && < 0.4,
124 template-haskell >= 2.4,
126 unordered-containers >= 0.2.3.0,
129 if flag(blaze-builder)
130 build-depends: blaze-builder >= 0.2.1.4
131 cpp-options: -DUSE_BLAZE_BUILDER
133 build-depends: bytestring >= 0.10
137 ghc-prof-options: -auto-all
139 ghc-options: -O2 -Wall
142 type: exitcode-stdio-1.0
143 hs-source-dirs: tests
144 main-is: Properties.hs
150 Properties.Deprecated
154 -Wall -threaded -rtsopts
156 ghc-options: -fcontext-stack=40
158 cpp-options: -DGHC_GENERICS
169 test-framework-quickcheck2,
170 test-framework-hunit,
174 unordered-containers,
178source-repository head
180 location: git://github.com/bos/aeson.git
182source-repository head
184 location: https://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