@@ -18,6 +18,7 @@ import Gauge
18import qualified Streamly.FileSystem.Handle as FH
18import qualified Streamly.FileSystem.Handle as FH
19import qualified Streamly.Mem.Array as A
19import qualified Streamly.Mem.Array as A
20import qualified Streamly.Prelude as S
20import qualified Streamly.Prelude as S
21+import qualified Streamly.String as SS
22#ifdef DEVBUILD
23#ifdef DEVBUILD
23import Data.Char (ord, chr)
24import Data.Char (ord, chr)
@@ -133,6 +134,21 @@ main = do
133 Handles inh outh <- readIORef href
134 Handles inh outh <- readIORef href
134 FH.write outh (FH.read inh)
135 FH.write outh (FH.read inh)
137+ -- This needs an ascii file, as decode just errors out.
138+ , bgroup "decode/encode"
139+ [ mkBench "encodeChar8/decodeChar8" href $ do
140+ Handles inh outh <- readIORef href
145+ , mkBench "encodeUtf8/decodeUtf8" href $ do
146+ Handles inh outh <- readIORef href
136 , bgroup "grouping"
152 , bgroup "grouping"
137 [ mkBench "chunksOf 1 (toArray)" href $ do
153 [ mkBench "chunksOf 1 (toArray)" href $ do
138 Handles inh _ <- readIORef href
154 Handles inh _ <- readIORef href
@@ -149,6 +165,24 @@ main = do
149 Handles inh _ <- readIORef href
165 Handles inh _ <- readIORef href
150 S.length $ FL.chunksOf 1000 FL.drain (FH.read inh)
166 S.length $ FL.chunksOf 1000 FL.drain (FH.read inh)
168+ , bgroup "group/ungroup"
169+ [ mkBench "lines/unlines" href $ do
170+ Handles inh outh <- readIORef href
177+ , mkBench "words/unwords" href $ do
178+ Handles inh outh <- readIORef href
153 , let lf = fromIntegral (ord '\n')
187 , let lf = fromIntegral (ord '\n')
154 lfarr = A.fromList [lf]
188 lfarr = A.fromList [lf]