@@ -0,0 +1,70 @@
1+{-# LANGUAGE NoImplicitPrelude #-}
2+{-# LANGUAGE OverloadedStrings #-}
19+import Data.Int (Int64)
21+import qualified Data.Aeson as A
22+import qualified Data.ByteString.Lazy as LBS
23+import qualified Data.ByteString.Lazy.Char8 as LBS8
25+decodeInt :: LBS.ByteString -> Maybe Int
28+generate :: Int64 -> LBS.ByteString
29+generate n = LBS8.replicate n '1'
31+input17 :: LBS.ByteString
34+input32 :: LBS.ByteString
37+input64 :: LBS.ByteString
40+input128 :: LBS.ByteString
41+input128 = generate 128
43+input256 :: LBS.ByteString
44+input256 = generate 256
46+input2048 :: LBS.ByteString
47+input2048 = generate 2048
49+input4096 :: LBS.ByteString
50+input4096 = generate 4096
52+input8192 :: LBS.ByteString
53+input8192 = generate 8192
55+input16384 :: LBS.ByteString
56+input16384 = generate 16384
61+ [ bench "17" $ whnf decodeInt input17
62+ -- , bench "32" $ whnf decodeInt input32
63+ -- , bench "64" $ whnf decodeInt input64
64+ -- , bench "128" $ whnf decodeInt input128
65+ -- , bench "256" $ whnf decodeInt input256
66+ , bench "2048" $ whnf decodeInt input2048
67+ , bench "4096" $ whnf decodeInt input4096
68+ , bench "8192" $ whnf decodeInt input8192
69+ , bench "16384" $ whnf decodeInt input16384