aeson-native: Fast JSON parsing and encoding

[ bsd3, deprecated, json, library, text, web ] [ Propose Tags ] [ Report a vulnerability ]
Deprecated in favor of aeson

A JSON parsing and encoding library optimized for ease of use and high performance.

Note: if you use GHCi or Template Haskell, please see the README file for important details about building this package, and other packages that depend on it: https://github.com/mailrank/aeson#readme

Parsing performance on a late 2010 MacBook Pro (2.66GHz Core i7), for mostly-English tweets from Twitter's JSON search API:

  • 0.8 KB, 32-bit GHC 6.12.3: 30538 msg/sec (24.9 MB/sec)

  • 0.8 KB, 64-bit GHC 7.0.3: 31204 msg/sec (25.4 MB/sec)

  • 6.4 KB, 32-bit GHC 6.12.3: 6731 msg/sec (42.3 MB/sec)

  • 6.4 KB, 64-bit GHC 7.0.3: 6627 msg/sec (41.7 MB/sec)

  • 11.8 KB, 32-bit GHC 6.12.3: 3751 msg/sec (43.2 MB/sec)

  • 11.8 KB, 64-bit GHC 7.0.3: 3381 msg/sec (38.9 MB/sec)

  • 31.2 KB, 32-bit GHC 6.12.3: 1306 msg/sec (39.8 MB/sec)

  • 31.2 KB, 64-bit GHC 7.0.3: 1132 msg/sec (34.5 MB/sec)

  • 61.5 KB, 32-bit GHC 6.12.3: 616 msg/sec (37.0 MB/sec)

  • 61.5 KB, 64-bit GHC 7.0.3: 534 msg/sec (32.1 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.

  • 14.6 KB, 32-bit GHC 6.12.3: 2315 msg/sec (33.1 MB/sec)

  • 14.6 KB, 64-bit GHC 7.0.3: 1986 msg/sec (28.4 MB/sec)

  • 44.1 KB, 32-bit GHC 6.12.3: 712 msg/sec (30.7 MB/sec)

  • 44.1 KB, 64-bit GHC 7.0.3: 634 msg/sec (27.3 MB/sec)

  • 82.9 KB, 32-bit GHC 6.12.3: 377 msg/sec (30.5 MB/sec)

  • 82.9 KB, 64-bit GHC 7.0.3: 332 msg/sec (26.9 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)

(A note on naming: in Greek mythology, Aeson was the father of Jason.)


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
developer

operate in developer mode

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

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'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.3.3, 0.3.3.1, 0.3.3.2
Dependencies attoparsec (>=0.8.6.1), base (>=4 && <4.4), blaze-builder (>=0.2.1.4), blaze-textual-native (>=0.2.0.2), bytestring, containers, deepseq (<1.2), hashable (>=1.1.2.0), mtl, old-locale, syb, text (>=0.11.0.2), time, unordered-containers (>=0.1.3.0), vector (>=0.7) [details]
Tested with ghc ==6.12.3
License BSD-3-Clause
Copyright Copyright 2011 MailRank, Inc.
Author Bryan O'Sullivan <bos@mailrank.com>
Maintainer Bryan O'Sullivan <bos@mailrank.com>
Revised Revision 1 made by AdamBergmark at 2015-05-24T14:24:20Z
Category Text, Web, JSON
Home page http://github.com/mailrank/aeson
Bug tracker http://github.com/mailrank/aeson/issues
Source repo head: git clone http://github.com/mailrank/aeson
head: hg clone http://bitbucket.org/bos/aeson
Uploaded by MichaelSnoyman at 2011-09-21T05:38:24Z
Distributions
Reverse Dependencies 10 direct, 457 indirect [details]
Downloads 3610 total (17 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for aeson-native-0.3.3.1

[back to package description]

Welcome to aeson

aeson is a fast Haskell library for working with JSON data.

Important note for users of GHCi and Template Haskell

This package depends on the blaze-textual package , and is unfortunately subject to crashes if you use GHCi or Template Haskell in your work.

For complete details, including a workaround, see the writeup in the blaze-textual README.

Join in!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://github.com/mailrank/aeson.git

There's also a Mercurial mirror:

  • hg clone http://bitbucket.org/bos/aeson

(You can create and contribute changes using either git or Mercurial.)

Authors

This library is written and maintained by Bryan O'Sullivan, bos@mailrank.com.