on master help sign in
More docs
ed58ea5Bryan O'Sullivan
Data/Aeson.hs+2
@@ -6,6 +6,8 @@
6-- Portability: portable
6-- Portability: portable
7--
7--
8-- Types and functions for working efficiently with JSON data.
8-- Types and functions for working efficiently with JSON data.
9+--
10+-- (A note on naming: in Greek mythology, Aeson was the father of Jason.)
9
11
10module Data.Aeson
12module Data.Aeson
11 (
13 (
aeson.cabal+27−2
@@ -14,7 +14,32 @@ homepage: http://github.com/mailrank/aeson
14bug-reports: http://github.com/mailrank/aeson/issues
14bug-reports: http://github.com/mailrank/aeson/issues
15build-type: Simple
15build-type: Simple
16description:
16description:
17− A fast JSON parsing and generation library.
17+ A JSON parsing and generation library optimized for ease of use
18+ and high performance.
19+ .
20+ Parsing performance with GHC 6.12.3 on a late 2010 MacBook Pro
21+ (2.66GHz Core i7), for different message sizes:
22+ .
23+ * 854 bytes: 15308 msg\/sec (12.5 MB/sec)
24+ .
25+ * 6.4 KB: 2807 msg\/sec (17.6 MB/sec)
26+ .
27+ * 31.2 KB: 493 msg\/sec (15.0 MB/sec)
28+ .
29+ * 61.5 KB: 236 msg\/sec (14.2 MB/sec)
30+ .
31+ Encoding performance on the same machine and data:
32+ .
33+ * 854 bytes: 72407 msg\/sec (59 MB/sec)
34+ .
35+ * 6.4 KB: 2098 msg\/sec (13.2 MB/sec)
36+ .
37+ * 31.2 KB: 422 msg\/sec (12.9 MB/sec)
38+ .
39+ * 61.5 KB: 219 msg\/sec (13.2 MB/sec)
40+ .
41+ (A note on naming: in Greek mythology, Aeson was the father of Jason.)
42+
18extra-source-files:
43extra-source-files:
19 README.markdown
44 README.markdown
20
45
@@ -34,7 +59,7 @@ library
34 base == 4.*,
59 base == 4.*,
35 blaze-builder >= 0.2.1.4,
60 blaze-builder >= 0.2.1.4,
36 bytestring,
61 bytestring,
37− containers == 0.3.*,
62+ containers,
38 deepseq,
63 deepseq,
39 old-locale,
64 old-locale,
40 text >= 0.11.0.2,
65 text >= 0.11.0.2,
benchmarks/ParseFile.hs+1−1
@@ -21,7 +21,7 @@ main = do
21 | good+bad >= count = return (good, bad)
21 | good+bad >= count = return (good, bad)
22 | otherwise = do
22 | otherwise = do
23 hSeek h AbsoluteSeek 0
23 hSeek h AbsoluteSeek 0
24− let refill = B.hGet h 1024
24+ let refill = B.hGet h 16384
25 result <- parseWith refill json =<< refill
25 result <- parseWith refill json =<< refill
26 case result of
26 case result of
27 Done _ r -> loop (good+1) bad
27 Done _ r -> loop (good+1) bad