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