@@ -27,8 +27,8 @@ import qualified Data.Text.Lazy as TL
2727import qualified Data.Text.Lazy.Builder as TB
2828import qualified Data.Text.Lazy.Encoding as TL
2929
30−benchmark :: FilePath -> IO Benchmark
31−benchmark fp = do
30+benchmark :: String -> FilePath -> IO Benchmark
31+benchmark kind fp = do
3232 -- Evaluate stuff before actually running the benchmark, we don't want to
3333 -- count it here.
3434
@@ -100,6 +100,10 @@ benchmark fp = do
100100 , benchBSL $ nf BL.unpack bla
101101 , benchS $ nf UTF8.toString bsa
102102 ]
103+ , bgroup "decode'"
104+ [ benchT $ nf T.decodeUtf8' bsa
105+ , benchTL $ nf TL.decodeUtf8' bla
106+ ]
103107 , bgroup "drop"
104108 [ benchT $ nf (T.drop (ta_len `div` 3)) ta
105109 , benchTL $ nf (TL.drop (tla_len `div` 3)) tla
@@ -405,11 +409,11 @@ benchmark fp = do
405409 ]
406410 ]
407411 where
408− benchS = bench "String"
409− benchT = bench "Text"
410− benchTL = bench "LazyText"
411− benchBS = bench "ByteString"
412− benchBSL = bench "LazyByteString"
412+ benchS = bench ("String+" ++ kind)
413+ benchT = bench ("Text+" ++ kind)
414+ benchTL = bench ("LazyText+" ++ kind)
415+ benchBS = bench ("ByteString+" ++ kind)
416+ benchBSL = bench ("LazyByteString+" ++ kind)
413417
414418 c = 'й'
415419 p0 = (== c)