aeson-1.5.3.0: benchmarks/aeson-benchmarks.cabal
cabal-version: >=1.10
name: aeson-benchmarks
version: 0
build-type: Simple
library
default-language: Haskell2010
hs-source-dirs: .. ../ffi ../pure ../attoparsec-iso8601
c-sources: ../cbits/unescape_string.c
build-depends:
attoparsec
, data-fix
, base
, base-compat-batteries
, bytestring >=0.10.4
, containers
, deepseq
, dlist
, ghc-prim
, hashable
, mtl
, primitive
, scientific
, syb
, strict
, tagged
, template-haskell
, text
, th-abstraction
, these
, time
, time-compat
, transformers
, unordered-containers
, uuid-types
, vector
if !impl(ghc >=8.6)
build-depends: contravariant
if !impl(ghc >=8.0)
-- `Data.Semigroup` is available in base only since GHC 8.0 / base 4.9
build-depends:
fail
, semigroups
, transformers-compat
if !impl(ghc >=7.10)
-- `Numeric.Natural` is available in base only since GHC 7.10 / base 4.8
build-depends:
nats
, void
include-dirs: ../include
ghc-options: -O2 -Wall
cpp-options: -DGENERICS
exposed-modules:
Data.Aeson
Data.Aeson.Encoding
Data.Aeson.Encoding.Builder
Data.Aeson.Encoding.Internal
Data.Aeson.Internal
Data.Aeson.Internal.Functions
Data.Aeson.Internal.Time
Data.Aeson.Parser
Data.Aeson.Parser.Internal
Data.Aeson.Parser.Time
Data.Aeson.Parser.Unescape
Data.Aeson.Parser.UnescapeFFI
Data.Aeson.Parser.UnescapePure
Data.Aeson.Text
Data.Aeson.TH
Data.Aeson.Types
Data.Aeson.Types.Class
Data.Aeson.Types.FromJSON
Data.Aeson.Types.Generic
Data.Aeson.Types.Internal
Data.Aeson.Types.ToJSON
Data.Attoparsec.Time
Data.Attoparsec.Time.Internal
-- Idea is to fold as many benchmarks into this as possible.
executable aeson-benchmark-suite
default-language: Haskell2010
main-is: Suite.hs
hs-source-dirs: . ../examples/src
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, criterion
, deepseq
, filepath
, template-haskell
, text
, time
, vector
other-modules:
GitHub
Twitter
Twitter.Manual
-- Benchmarks below are haven't been worked out yet
executable aeson-benchmark-auto-compare
default-language: Haskell2010
main-is: AutoCompare.hs
hs-source-dirs: .
ghc-options: -Wall -O2 -rtsopts
other-modules:
Auto.G.BigProduct
Auto.G.BigRecord
Auto.G.BigSum
Auto.G.D
Auto.T.BigProduct
Auto.T.BigRecord
Auto.T.BigSum
Auto.T.D
Options
build-depends:
aeson-benchmarks
, base
, criterion
, deepseq
, template-haskell
executable aeson-benchmark-escape
default-language: Haskell2010
main-is: Escape.hs
hs-source-dirs: ../examples/src .
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, criterion >=1.0
, deepseq
, ghc-prim
, text
executable aeson-benchmark-compare
default-language: Haskell2010
main-is: Compare.hs
hs-source-dirs: ../examples/src .
ghc-options: -Wall -O2 -rtsopts
other-modules:
Compare.BufferBuilder
Compare.JsonBench
Twitter
Twitter.Manual
Typed.Common
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, buffer-builder
, bytestring
, criterion >=1.0
, deepseq
, ghc-prim
, text
if impl(ghc <8.4)
other-modules: Compare.JsonBuilder
build-depends: json-builder
if !impl(ghc >=8.0)
build-depends:
fail
, semigroups
executable aeson-benchmark-micro
default-language: Haskell2010
main-is: Micro.hs
hs-source-dirs: ../examples/src .
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, criterion >=1.0
, deepseq
, ghc-prim
, text
executable aeson-benchmark-typed
default-language: Haskell2010
main-is: Typed.hs
hs-source-dirs: ../examples/src .
ghc-options: -Wall -O2 -rtsopts
other-modules:
Twitter
Twitter.Generic
Twitter.Manual
Twitter.Options
Twitter.TH
Typed.Common
Typed.Generic
Typed.Manual
Typed.TH
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, criterion >=1.0
, deepseq
, ghc-prim
, text
, time
if impl(ghc <8.0)
build-depends: semigroups
executable aeson-benchmark-compare-with-json
default-language: Haskell2010
main-is: CompareWithJSON.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, blaze-builder
, bytestring
, criterion
, deepseq
, json
, text
executable aeson-benchmark-aeson-encode
default-language: Haskell2010
main-is: AesonEncode.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, attoparsec
, base
, base-compat-batteries
, bytestring
, deepseq
, time
executable aeson-benchmark-aeson-parse
default-language: Haskell2010
main-is: AesonParse.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, attoparsec
, base
, base-compat-batteries
, bytestring
, time
if !impl(ghc >=8.0)
build-depends:
fail
, semigroups
executable aeson-benchmark-json-parse
default-language: Haskell2010
main-is: JsonParse.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
base
, base-compat-batteries
, deepseq
, json
, time
executable aeson-benchmark-dates
default-language: Haskell2010
main-is: Dates.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, criterion
, deepseq
, text
, time
if impl(ghc >=8.2)
ghc-options: -Wno-simplifiable-class-constraints
executable aeson-benchmark-map
default-language: Haskell2010
main-is: AesonMap.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, containers
, criterion >=1.0
, deepseq
, hashable
, tagged
, text
, unordered-containers
executable aeson-benchmark-foldable
default-language: Haskell2010
main-is: AesonFoldable.hs
ghc-options: -Wall -O2 -rtsopts
build-depends:
aeson-benchmarks
, base
, base-compat-batteries
, bytestring
, containers
, criterion >=1.0
, deepseq
, hashable
, tagged
, text
, unordered-containers
, vector
executable aeson-issue-673
default-language: Haskell2010
main-is: Issue673.hs
ghc-options: -Wall -O1 -rtsopts
build-depends:
aeson-benchmarks
, attoparsec
, base
, base-compat-batteries
, bytestring
, criterion >=1.0
, scientific
if impl(ghc <8.0)
build-depends: semigroups