module Main where
import Prelude
import Criterion.Main
import ByteString.StrictBuilder
main =
defaultMain [leftAppends, rightAppends]
leftAppends :: Benchmark
leftAppends =
bench "leftAppends" $ whnf action $! replicate 1000 $ bytes "abc"
where
action bytesList =
builderBytes builder
where
builder =
foldl' (<>) mempty bytesList
rightAppends :: Benchmark
rightAppends =
bench "rightAppends" $ whnf action $! replicate 1000 $ bytes "abc"
where
action bytesList =
builderBytes builder
where
builder =
foldr (<>) mempty bytesList