aeson-0.10.0.0: benchmarks/Compare.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Main (main) where
import Compare.BufferBuilder ()
import Compare.JsonBuilder ()
import Criterion.Main
import Data.BufferBuilder.Json
import Data.Json.Builder
import Twitter
import Twitter.Manual ()
import Typed.Common
import qualified Compare.JsonBench as JsonBench
import qualified Data.Aeson as Aeson
main :: IO ()
main =
defaultMain [
env (load "json-data/twitter100.json") $ \ ~(twtr :: Result) ->
bgroup "twitter" [
bench "aeson" $ nf Aeson.encode twtr
, bench "buffer-builder" $ nf encodeJson twtr
, bench "json-builder" $ nf toJsonLBS twtr
]
, JsonBench.benchmarks
]