@@ -21,15 +21,17 @@ import Criterion (Benchmark, bgroup, bench)
2121import Data.Monoid (mconcat)
2222import System.IO (Handle, hPutStr)
2323import qualified Data.ByteString as B
24+import qualified Data.ByteString.Char8 as BC
2425import qualified Data.ByteString.Lazy as BL
2526import qualified Data.ByteString.Lazy.Char8 as BLC
26−import qualified Data.ByteString.Char8 as BC
2727import qualified Data.List as L
2828import qualified Data.Text as T
29+import qualified Data.Text.Encoding as T
2930import qualified Data.Text.IO as T
3031import qualified Data.Text.Lazy as TL
31−import qualified Data.Text.Lazy.IO as TL
3232import qualified Data.Text.Lazy.Builder as TLB
33+import qualified Data.Text.Lazy.Encoding as TL
34+import qualified Data.Text.Lazy.IO as TL
3335
3436benchmark :: FilePath -> Handle -> IO Benchmark
3537benchmark i o = return $ bgroup "Sort"
@@ -38,7 +40,12 @@ benchmark i o = return $ bgroup "Sort"
3840 , bench "LazyByteString" $ BL.readFile i >>= BL.hPutStr o . lazyByteString
3941 , bench "Text" $ T.readFile i >>= T.hPutStr o . text
4042 , bench "LazyText" $ TL.readFile i >>= TL.hPutStr o . lazyText
41− , bench "TextBuilder" $ T.readFile i >>= TL.hPutStr o . textBuilder
43+ , bench "TextByteString" $ B.readFile i >>=
44+ B.hPutStr o . T.encodeUtf8 . text . T.decodeUtf8
45+ , bench "LazyTextByteString" $ BL.readFile i >>=
46+ BL.hPutStr o . TL.encodeUtf8 . lazyText . TL.decodeUtf8
47+ , bench "TextBuilder" $ B.readFile i >>=
48+ BL.hPutStr o . TL.encodeUtf8 . textBuilder . T.decodeUtf8
4249 ]
4350
4451string :: String -> String