Blame benchmarks/Compare.hs

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