aeson: Fast JSON parsing and generation
A JSON parsing and generation library optimized for ease of use and high performance.
Parsing performance with GHC 6.12.3 on a late 2010 MacBook Pro (2.66GHz Core i7), for mostly-English tweets from Twitter's JSON search API:
English, 854 bytes: 29029 msg/sec (23.6 MB/sec)
English, 6.4 KB: 6407 msg/sec (40.3 MB/sec)
English, 31.2 KB: 1265 msg/sec (38.8 MB/sec)
English, 61.5 KB: 585 msg/sec (35.2 MB/sec)
Handling heavily-escaped text is a little more work. Here is parsing performance with Japanese tweets, where much of the text is entirely Unicode-escaped:
Japanese, 14.6 KB: 2227 msg/sec (31.9 MB/sec)
Japanese, 44.1 KB: 671 msg/sec (29.6 MB/sec)
Encoding performance on the same machine and data:
English, 854 bytes: 43439 msg/sec (35.4 MB/sec)
English, 6.4 KB: 7127 msg/sec (44.8 MB/sec)
Engish, 61.5 KB: 765 msg/sec (46.0 MB/sec)
Japanese, 14.6 KB: 4727 msg/sec (67.5 MB/sec)
Japanese, 44.1 KB: 1505 msg/sec (64.8 MB/sec)
With GHC 7.0.2, the story is mixed: parsing is 20-40% slower than GHC 6.12.3, while encoding performance ranges from about the same to twice as fast (on numeric data).
(A note on naming: in Greek mythology, Aeson was the father of Jason.)
[Skip to Readme]
Flags
Name | Description | Default | Type |
---|---|---|---|
developer | operate in developer mode | Disabled | Automatic |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- aeson-0.3.2.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.