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 |
]
|