Blame benchmarks/Escape.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 Criterion.Main
|
|
Packit |
9a2dfb |
import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapeFFI as FFI
|
|
Packit |
9a2dfb |
import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapePure as Pure
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import qualified Data.ByteString.Char8 as BS
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
n :: Int
|
|
Packit |
9a2dfb |
n = 10000
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
input :: BS.ByteString
|
|
Packit |
9a2dfb |
input = BS.concat $ replicate n $ BS.pack "\\\""
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
main :: IO ()
|
|
Packit |
9a2dfb |
main = defaultMain
|
|
Packit |
9a2dfb |
[ bench "ffi" $ whnf FFI.unescapeText input
|
|
Packit |
9a2dfb |
, bench "pure" $ whnf Pure.unescapeText input
|
|
Packit |
9a2dfb |
]
|