@@ -17,9 +17,12 @@ import Data.Text.Fusion.Internal (Step (..), Stream (..))
17import qualified Data.Text.Encoding as T
17import qualified Data.Text.Encoding as T
18import qualified Data.Text.Encoding.Error as E
18import qualified Data.Text.Encoding.Error as E
19import qualified Data.Text.Encoding.Fusion as T
19import qualified Data.Text.Encoding.Fusion as T
20+import qualified Data.Text.Encoding.Fusion.Common as F
21+import qualified Data.Text.Fusion as T
20import qualified Data.Text.IO as T
22import qualified Data.Text.IO as T
21import qualified Data.Text.Lazy.Encoding as TL
23import qualified Data.Text.Lazy.Encoding as TL
22import qualified Data.Text.Lazy.Encoding.Fusion as TL
24import qualified Data.Text.Lazy.Encoding.Fusion as TL
25+import qualified Data.Text.Lazy.Fusion as TL
23import qualified Data.Text.Lazy.IO as TL
26import qualified Data.Text.Lazy.IO as TL
25instance NFData a => NFData (Stream a) where
28instance NFData a => NFData (Stream a) where
@@ -49,8 +52,19 @@ benchmark fp = do
49 !utf32leL = TL.encodeUtf32LE tl
52 !utf32leL = TL.encodeUtf32LE tl
50 !utf32beL = TL.encodeUtf32BE tl
53 !utf32beL = TL.encodeUtf32BE tl
55+ -- For the functions which operate on streams
52 return $ bgroup "Stream"
58 return $ bgroup "Stream"
62+ [ bench "Text" $ nf T.stream t
63+ , bench "LazyText" $ nf TL.stream tl
53− [ bgroup "streamUtf8"
67+ , bgroup "streamUtf8"
54 [ bench "Text" $ nf (T.streamUtf8 E.lenientDecode) utf8
68 [ bench "Text" $ nf (T.streamUtf8 E.lenientDecode) utf8
55 , bench "LazyText" $ nf (TL.streamUtf8 E.lenientDecode) utf8L
69 , bench "LazyText" $ nf (TL.streamUtf8 E.lenientDecode) utf8L
@@ -70,4 +84,11 @@ benchmark fp = do
70 [ bench "Text" $ nf (T.streamUtf32BE E.lenientDecode) utf32be
84 [ bench "Text" $ nf (T.streamUtf32BE E.lenientDecode) utf32be
71 , bench "LazyText" $ nf (TL.streamUtf32BE E.lenientDecode) utf32beL
85 , bench "LazyText" $ nf (TL.streamUtf32BE E.lenientDecode) utf32beL
88+ -- Encoding.Fusion.Common
89+ , bench "restreamUtf8" $ nf F.restreamUtf8 s
90+ , bench "restreamUtf16LE" $ nf F.restreamUtf16LE s
91+ , bench "restreamUtf16BE" $ nf F.restreamUtf16BE s
92+ , bench "restreamUtf32LE" $ nf F.restreamUtf32LE s
93+ , bench "restreamUtf32BE" $ nf F.restreamUtf32BE s