@@ -0,0 +1,25 @@
1+{-# LANGUAGE PackageImports #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
3+
4+module Main (main) where
5+
6+import Prelude ()
7+import Prelude.Compat
8+
9+import Criterion.Main
10+import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapeFFI as FFI
11+import qualified "aeson-benchmarks" Data.Aeson.Parser.UnescapePure as Pure
12+
13+import qualified Data.ByteString.Char8 as BS
14+
15+n :: Int
16+n = 10000
17+
18+input :: BS.ByteString
19+input = BS.concat $ replicate n $ BS.pack "\\\""
20+
21+main :: IO ()
22+main = defaultMain
23+ [ bench "ffi" $ whnf FFI.unescapeText input
24+ , bench "pure" $ whnf Pure.unescapeText input
25+ ]