on wip/yuras/scanner help sign in
35 lines 827 B history raw
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE NoImplicitPrelude #-}
3{-# LANGUAGE ScopedTypeVariables #-}
5module Main (main) where
7import Prelude.Compat
9import Compare.BufferBuilder ()
10import Criterion.Main
11import Data.BufferBuilder.Json
12import Twitter
13import Twitter.Manual ()
14import Typed.Common
15import qualified Data.Aeson as Aeson
16import qualified Compare.JsonBench as JsonBench
18#ifdef MIN_VERSION_json_builder
19import Data.Json.Builder
20import Compare.JsonBuilder ()
21#endif
23main :: IO ()
24main =
25 defaultMain [
26 env (load "json-data/twitter100.json") $ \ ~(twtr :: Result) ->
27 bgroup "twitter" [
28 bench "aeson" $ nf Aeson.encode twtr
29 , bench "buffer-builder" $ nf encodeJson twtr
30#ifdef MIN_VERSION_json_builder
31 , bench "json-builder" $ nf toJsonLBS twtr
32#endif
33 ]
34 , JsonBench.benchmarks
35 ]