Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

137 lines (125 sloc) 3.777 kB
name: aeson
version: 0.3.2.1
license: BSD3
license-file: LICENSE
category: Text, Web, JSON
copyright: Copyright 2011 MailRank, Inc.
author: Bryan O'Sullivan <bos@mailrank.com>
maintainer: Bryan O'Sullivan <bos@mailrank.com>
stability: experimental
tested-with: GHC == 6.12.3
synopsis: Fast JSON parsing and generation
cabal-version: >= 1.8
homepage: http://github.com/mailrank/aeson
bug-reports: http://github.com/mailrank/aeson/issues
build-type: Simple
description:
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.)
extra-source-files:
README.markdown
benchmarks/AesonEncode.hs
benchmarks/AesonParse.hs
benchmarks/JsonParse.hs
benchmarks/Makefile
benchmarks/ReadFile.hs
benchmarks/parse.py
benchmarks/json-data/example.json
benchmarks/json-data/integers.json
benchmarks/json-data/jp10.json
benchmarks/json-data/jp20.json
benchmarks/json-data/jp50.json
benchmarks/json-data/jp100.json
benchmarks/json-data/numbers.json
benchmarks/json-data/twitter1.json
benchmarks/json-data/twitter10.json
benchmarks/json-data/twitter20.json
benchmarks/json-data/twitter50.json
benchmarks/json-data/twitter100.json
flag developer
description: operate in developer mode
default: False
library
exposed-modules:
Data.Aeson
Data.Aeson.Encode
Data.Aeson.Generic
Data.Aeson.Parser
Data.Aeson.Types
other-modules:
Data.Aeson.Encode.Double
Data.Aeson.Encode.Int
Data.Aeson.Encode.Number
Data.Aeson.Functions
build-depends:
attoparsec >= 0.8.5.0,
base == 4.*,
blaze-builder >= 0.2.1.4,
bytestring,
bytestring-show,
containers,
deepseq,
ghc-prim,
hashable,
integer-gmp,
monads-fd,
old-locale,
syb,
text >= 0.11.0.2,
time,
unordered-containers >= 0.1.2.0,
vector >= 0.7
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
ghc-options: -Wall
if impl(ghc >= 6.11)
cpp-options: -DINTEGER_GMP
build-depends: integer-gmp >= 0.2 && < 0.3
if impl(ghc >= 6.9) && impl(ghc < 6.11)
cpp-options: -DINTEGER_GMP
build-depends: integer >= 0.1 && < 0.2
source-repository head
type: git
location: http://github.com/mailrank/aeson
source-repository head
type: mercurial
location: http://bitbucket.org/bos/aeson
Jump to Line
Something went wrong with that request. Please try again.