Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

185 lines (167 sloc) 4.566 kb
name: aeson
version: 0.7.0.0
license: BSD3
license-file: LICENSE
category: Text, Web, JSON
copyright: (c) 2011, 2012, 2013 Bryan O'Sullivan
(c) 2011 MailRank, Inc.
author: Bryan O'Sullivan <bos@serpentine.com>
maintainer: Bryan O'Sullivan <bos@serpentine.com>
stability: experimental
tested-with: GHC == 7.0, GHC == 7.2, GHC == 7.4, GHC == 7.6
synopsis: Fast JSON parsing and encoding
cabal-version: >= 1.8
homepage: https://github.com/bos/aeson
bug-reports: https://github.com/bos/aeson/issues
build-type: Simple
description:
A JSON parsing and encoding library optimized for ease of use
and high performance.
.
To get started, see the documentation for the @Data.Aeson@ module
below.
.
Parsing performance on an early 2011 MacBook Pro (2.2GHz Core i7),
running 64-bit GHC 7.6.3, for mostly-English tweets from Twitter's
JSON search API:
.
* 0.8 KB: 34124 msg\/sec (27.8 MB\/sec)
.
* 6.4 KB: 6833 msg\/sec (43.0 MB\/sec)
.
* 11.8 KB: 3410 msg\/sec (39.2 MB\/sec)
.
* 31.2 KB: 1157 msg\/sec (35.3 MB\/sec)
.
* 61.5 KB: 542 msg\/sec (32.5 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: 2101 msg\/sec (30.0 MB\/sec)
.
* 44.1 KB: 667 msg\/sec (28.7 MB\/sec)
.
* 82.9 KB: 360 msg\/sec (29.2 MB\/sec)
.
Encoding performance on the same machine and data:
.
* English, 0.8 KB: 109697 msg\/sec (89.3 MB\/sec)
.
* English, 6.4 KB: 18517 msg\/sec (116.4 MB\/sec)
.
* Engish, 61.5 KB: 1963 msg\/sec (118.0 MB\/sec)
.
* Japanese, 14.6 KB: 12140 msg\/sec (173.5 MB\/sec)
.
* Japanese, 44.1 KB: 3980 msg\/sec (171.3 MB\/sec)
.
(A note on naming: in Greek mythology, Aeson was the father of Jason.)
extra-source-files:
README.markdown
benchmarks/*.cabal
benchmarks/*.hs
benchmarks/*.py
benchmarks/Makefile
benchmarks/json-data/*.json
changelog
examples/*.hs
flag developer
description: operate in developer mode
default: False
flag blaze-builder
description: Use blaze-builder instead of bytestring >= 0.10
default: False
flag new-bytestring-builder
description: Use the new bytestring builder available in bytestring >= 0.10.4.0
default: False
library
exposed-modules:
Data.Aeson
Data.Aeson.Encode
Data.Aeson.Generic
Data.Aeson.Parser
Data.Aeson.Types
Data.Aeson.TH
other-modules:
Data.Aeson.Functions
Data.Aeson.Parser.Internal
Data.Aeson.Types.Class
Data.Aeson.Types.Instances
Data.Aeson.Types.Internal
if flag(new-bytestring-builder)
other-modules: Data.Aeson.Encode.ByteString
build-depends: bytestring >= 0.10.4.0,
text >= 1.1.0.0
else
build-depends: bytestring < 0.10.4.0,
text >= 0.11.1.0
if impl(ghc >= 7.2.1)
cpp-options: -DGENERICS
build-depends: ghc-prim >= 0.2, dlist >= 0.2
other-modules:
Data.Aeson.Types.Generic
build-depends:
attoparsec >= 0.11.1.0,
base == 4.*,
containers,
deepseq,
hashable >= 1.1.2.0,
mtl,
old-locale,
syb,
template-haskell >= 2.4,
time,
unordered-containers >= 0.1.3.0,
vector >= 0.7.1,
scientific >= 0.2
if flag(blaze-builder)
build-depends: blaze-builder >= 0.2.1.4
cpp-options: -DUSE_BLAZE_BUILDER
else
build-depends: bytestring >= 0.10
if flag(developer)
ghc-options: -Werror
ghc-prof-options: -auto-all
ghc-options: -O2 -Wall
test-suite tests
type: exitcode-stdio-1.0
hs-source-dirs: tests
main-is: Properties.hs
other-modules:
Encoders
Functions
Instances
Options
Properties.Deprecated
Types
ghc-options:
-Wall -threaded -rtsopts
if impl(ghc < 7.4)
ghc-options: -fcontext-stack=40
if impl(ghc >= 7.2)
cpp-options: -DGHC_GENERICS
build-depends:
QuickCheck,
aeson,
attoparsec,
base,
containers,
bytestring,
template-haskell,
test-framework,
test-framework-quickcheck2,
test-framework-hunit,
HUnit,
text,
time,
unordered-containers,
vector,
ghc-prim >= 0.2
source-repository head
type: git
location: git://github.com/bos/aeson.git
source-repository head
type: mercurial
location: https://bitbucket.org/bos/aeson
Jump to Line
Something went wrong with that request. Please try again.