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