{-# LANGUAGE PackageImports #-} {-# LANGUAGE ScopedTypeVariables #-} module Main (main) where import Prelude () import Prelude.Compat import Criterion.Main import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapeFFI as FFI import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapePure as Pure import qualified Data.ByteString.Char8 as BS n :: Int n = 10000 input :: BS.ByteString input = BS.concat $ replicate n $ BS.pack "\\\"" main :: IO () main = defaultMain [ bench "ffi" $ whnf FFI.unescapeText input , bench "pure" $ whnf Pure.unescapeText input ]