on master help sign in
Add cat and wc -l to benchmarks
commita8051edf7a547545d67d29574727c607f03419dc authorHarendra Kumar <harendra.kumar@gmail.com> dateSat 15 Jun 2019, 22:23 (7 years ago) parent213ac6b
1 file changed+18−2
benchmark/FileIO.hs+18−2
benchmark/FileIO.hs+18−2
@@ -18,11 +18,11 @@ import Gauge
1818import qualified Streamly.FileSystem.Handle as FH
1919import qualified Streamly.Mem.Array as A
2020import qualified Streamly.Prelude as S
21+import qualified Streamly.Fold as FL
22+import qualified Streamly.String as SS
2123
2224#ifdef DEVBUILD
2325import Data.Char (ord, chr)
24−import qualified Streamly.Fold as FL
25−import qualified Streamly.String as SS
2626#endif
2727
2828-- Input and output file handles
@@ -87,6 +87,7 @@ main = do
8787#endif
8888 outHandle <- openFile outfile WriteMode
8989 href <- newIORef $ Handles inHandle outHandle
90+ devNull <- openFile "/dev/null" WriteMode
9091
9192 defaultMain
9293 [ bgroup "readArray"
@@ -104,11 +105,17 @@ main = do
104105 Handles inh _ <- readIORef href
105106 let s = FH.readArrays inh
106107 S.sum (S.map A.length s)
108+ , mkBench "linecount" href $ do
109+ Handles inh _ <- readIORef href
110+ S.length $ A.splitArraysOn 10 $ FH.readArrays inh
107111 , mkBench "sum" href $ do
108112 let foldlArr' f z = runIdentity . S.foldl' f z . A.read
109113 Handles inh _ <- readIORef href
110114 let s = FH.readArrays inh
111115 S.foldl' (\acc arr -> acc + foldlArr' (+) 0 arr) 0 s
116+ , mkBench "cat" href $ do
117+ Handles inh _ <- readIORef href
118+ FH.writeArrays devNull $ FH.readArraysOfUpto (256*1024) inh
112119 ]
113120 , bgroup "readStream"
114121 [ mkBench "last" href $ do
@@ -117,9 +124,18 @@ main = do
117124 , mkBench "length (bytecount)" href $ do
118125 Handles inh _ <- readIORef href
119126 S.length $ FH.read inh
127+ , mkBench "linecount" href $ do
128+ Handles inh _ <- readIORef href
129+ S.length
130+ $ flip SS.foldLines FL.drain
131+ $ SS.decodeChar8
132+ $ FH.read inh
120133 , mkBench "sum" href $ do
121134 Handles inh _ <- readIORef href
122135 S.sum $ FH.read inh
136+ , mkBench "cat" href $ do
137+ Handles inh _ <- readIORef href
138+ FH.write devNull $ FH.read inh
123139 ]
124140 , bgroup "copyArray"
125141 [ mkBench "copy" href $ do