module Main (main) where import Prelude () import Prelude.Compat import Criterion.Main import qualified Data.Aeson.Encoding.Builder as AB import qualified Data.ByteString.Builder as B import qualified Data.Text as T main :: IO () main = do let txt = "append (append b (primBounded w1 x1)) (primBounded w2 x2)" defaultMain [ bgroup "string" [ bench "text" $ nf (B.toLazyByteString . AB.text) (T.pack txt) , bench "string direct" $ nf (B.toLazyByteString . AB.string) txt , bench "string via text" $ nf (B.toLazyByteString . AB.text . T.pack) txt ] ]