@@ -17,6 +17,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
20+import qualified Streamly.Mem.Array.Stream as AS
20import qualified Streamly.Prelude as S
21import qualified Streamly.Prelude as S
21import qualified Streamly.Fold as FL
22import qualified Streamly.Fold as FL
22import qualified Streamly.String as SS
23import qualified Streamly.String as SS
@@ -108,7 +109,7 @@ main = do
108 S.sum (S.map A.length s)
109 S.sum (S.map A.length s)
109 , mkBench "linecount" href $ do
110 , mkBench "linecount" href $ do
110 Handles inh _ <- readIORef href
111 Handles inh _ <- readIORef href
111− S.length $ A.splitArraysOn 10 $ FH.readArrays inh
112+ S.length $ AS.splitOn 10 $ FH.readArrays inh
112 , mkBench "sum" href $ do
113 , mkBench "sum" href $ do
113 let foldlArr' f z = runIdentity . S.foldl' f z . A.read
114 let foldlArr' f z = runIdentity . S.foldl' f z . A.read
114 Handles inh _ <- readIORef href
115 Handles inh _ <- readIORef href
@@ -191,12 +192,14 @@ main = do
191 $ SS.lines
192 $ SS.lines
192 $ SS.decodeChar8
193 $ SS.decodeChar8
193 $ FH.read inh
194 $ FH.read inh
194 , mkBench "lines-unlines-arrays" href $ do
196 , mkBench "lines-unlines-arrays" href $ do
195 Handles inh outh <- readIORef href
197 Handles inh outh <- readIORef href
196 FH.writeArraysPackedUpto (1024*1024) outh
198 FH.writeArraysPackedUpto (1024*1024) outh
197 $ S.insertAfterEach (return $ A.fromList [10])
199 $ S.insertAfterEach (return $ A.fromList [10])
198− $ A.splitArraysOn 10
200+ $ AS.splitOn 10
199 $ FH.readArraysOfUpto (1024*1024) inh
201 $ FH.readArraysOfUpto (1024*1024) inh
200 , mkBench "words-unwords" href $ do
203 , mkBench "words-unwords" href $ do
201 Handles inh outh <- readIORef href
204 Handles inh outh <- readIORef href
202 FH.write outh
205 FH.write outh
@@ -208,18 +211,18 @@ main = do
210 , let lf = fromIntegral (ord '\n')
213 , let lf = fromIntegral (ord '\n')
211− lfarr = A.fromList [lf]
214+ -- lfarr = A.fromList [lf]
212 isSp = isSpace . chr . fromIntegral
215 isSp = isSpace . chr . fromIntegral
213− toarr = A.fromList . map (fromIntegral . ord)
216+ -- toarr = A.fromList . map (fromIntegral . ord)
214 in bgroup "splitting"
217 in bgroup "splitting"
215 [ bgroup "predicate"
218 [ bgroup "predicate"
216− [ mkBench "splitBy \\n (line count)" href $ do
219+ [ mkBench "splitOn \\n (line count)" href $ do
217 Handles inh _ <- readIORef href
220 Handles inh _ <- readIORef href
218− (S.length $ FL.splitBy (== lf) FL.drain
221+ (S.length $ FL.splitOn (== lf) FL.drain
219 $ FH.read inh) -- >>= print
222 $ FH.read inh) -- >>= print
220− , mkBench "splitSuffixBy \\n (line count)" href $ do
223+ , mkBench "splitOnSuffix \\n (line count)" href $ do
221 Handles inh _ <- readIORef href
224 Handles inh _ <- readIORef href
222− (S.length $ FL.splitSuffixBy (== lf) FL.drain
225+ (S.length $ FL.splitOnSuffix (== lf) FL.drain
223 $ FH.read inh) -- >>= print
226 $ FH.read inh) -- >>= print
224 , mkBench "wordsBy isSpace (word count)" href $ do
227 , mkBench "wordsBy isSpace (word count)" href $ do
225 Handles inh _ <- readIORef href
228 Handles inh _ <- readIORef href
@@ -227,72 +230,74 @@ main = do
227 $ FH.read inh) -- >>= print
230 $ FH.read inh) -- >>= print
230 , bgroup "empty-pattern"
234 , bgroup "empty-pattern"
231− [ mkBench "splitOn \"\"" href $ do
235+ [ mkBench "splitOnSeq \"\"" href $ do
232 Handles inh _ <- readIORef href
236 Handles inh _ <- readIORef href
233− (S.length $ FL.splitOn (A.fromList []) FL.drain
237+ (S.length $ FL.splitOnSeq (A.fromList []) FL.drain
234 $ FH.read inh) -- >>= print
238 $ FH.read inh) -- >>= print
235− , mkBench "splitSuffixOn \"\"" href $ do
239+ , mkBench "splitOnSuffixSeq \"\"" href $ do
236 Handles inh _ <- readIORef href
240 Handles inh _ <- readIORef href
237− (S.length $ FL.splitSuffixOn (A.fromList []) FL.drain
241+ (S.length $ FL.splitOnSuffixSeq (A.fromList []) FL.drain
238 $ FH.read inh) -- >>= print
242 $ FH.read inh) -- >>= print
240 , bgroup "short-pattern"
244 , bgroup "short-pattern"
241− [ mkBench "splitOn \\n (line count)" href $ do
245+ [ mkBench "splitOnSeq \\n (line count)" href $ do
242 Handles inh _ <- readIORef href
246 Handles inh _ <- readIORef href
243 (S.length $ FL.splitOn lfarr FL.drain
247 (S.length $ FL.splitOn lfarr FL.drain
244 $ FH.read inh) -- >>= print
248 $ FH.read inh) -- >>= print
245− , mkBench "splitSuffixOn \\n (line count)" href $ do
249+ , mkBench "splitOnSuffixSeq \\n (line count)" href $ do
246 Handles inh _ <- readIORef href
250 Handles inh _ <- readIORef href
247− (S.length $ FL.splitSuffixOn lfarr FL.drain
251+ (S.length $ FL.splitOnSuffixSeq lfarr FL.drain
248 $ FH.read inh) -- >>= print
252 $ FH.read inh) -- >>= print
249− , mkBench "splitOn a" href $ do
253+ , mkBench "splitOnSeq a" href $ do
250 Handles inh _ <- readIORef href
254 Handles inh _ <- readIORef href
251 (S.length $ FL.splitOn (toarr "a") FL.drain
255 (S.length $ FL.splitOn (toarr "a") FL.drain
252 $ FH.read inh) -- >>= print
256 $ FH.read inh) -- >>= print
253− , mkBench "splitOn \\r\\n" href $ do
257+ , mkBench "splitOnSeq \\r\\n" href $ do
254 Handles inh _ <- readIORef href
258 Handles inh _ <- readIORef href
255 (S.length $ FL.splitOn (toarr "\r\n") FL.drain
259 (S.length $ FL.splitOn (toarr "\r\n") FL.drain
256 $ FH.read inh) -- >>= print
260 $ FH.read inh) -- >>= print
257− , mkBench "splitSuffixOn \\r\\n)" href $ do
261+ , mkBench "splitOnSuffixSeq \\r\\n)" href $ do
258 Handles inh _ <- readIORef href
262 Handles inh _ <- readIORef href
259− (S.length $ FL.splitSuffixOn (toarr "\r\n") FL.drain
263+ (S.length $ FL.splitOnSuffixSeq (toarr "\r\n") FL.drain
260 $ FH.read inh) -- >>= print
264 $ FH.read inh) -- >>= print
261− , mkBench "splitOn aa" href $ do
265+ , mkBench "splitOnSeq aa" href $ do
262 Handles inh _ <- readIORef href
266 Handles inh _ <- readIORef href
263− (S.length $ FL.splitOn (toarr "aa") FL.drain
267+ (S.length $ FL.splitOnSeq (toarr "aa") FL.drain
264 $ FH.read inh) -- >>= print
268 $ FH.read inh) -- >>= print
265− , mkBench "splitOn aaaa" href $ do
269+ , mkBench "splitOnSeq aaaa" href $ do
266 Handles inh _ <- readIORef href
270 Handles inh _ <- readIORef href
267− (S.length $ FL.splitOn (toarr "aaaa") FL.drain
271+ (S.length $ FL.splitOnSeq (toarr "aaaa") FL.drain
268 $ FH.read inh) -- >>= print
272 $ FH.read inh) -- >>= print
269− , mkBench "splitOn abcdefgh" href $ do
273+ , mkBench "splitOnSeq abcdefgh" href $ do
270 Handles inh _ <- readIORef href
274 Handles inh _ <- readIORef href
271− (S.length $ FL.splitOn (toarr "abcdefgh") FL.drain
275+ (S.length $ FL.splitOnSeq (toarr "abcdefgh") FL.drain
272 $ FH.read inh) -- >>= print
276 $ FH.read inh) -- >>= print
274 , bgroup "long-pattern"
278 , bgroup "long-pattern"
275− [ mkBench "splitOn abcdefghi" href $ do
279+ [ mkBench "splitOnSeq abcdefghi" href $ do
276 Handles inh _ <- readIORef href
280 Handles inh _ <- readIORef href
277− (S.length $ FL.splitOn (toarr "abcdefghi") FL.drain
281+ (S.length $ FL.splitOnSeq (toarr "abcdefghi") FL.drain
278 $ FH.read inh) -- >>= print
282 $ FH.read inh) -- >>= print
279− , mkBench "splitOn catcatcatcatcat" href $ do
283+ , mkBench "splitOnSeq catcatcatcatcat" href $ do
280 Handles inh _ <- readIORef href
284 Handles inh _ <- readIORef href
281− (S.length $ FL.splitOn (toarr "catcatcatcatcat") FL.drain
285+ (S.length $ FL.splitOnSeq (toarr "catcatcatcatcat") FL.drain
282 $ FH.read inh) -- >>= print
286 $ FH.read inh) -- >>= print
283− , mkBench "splitOn abc...xyz" href $ do
287+ , mkBench "splitOnSeq abc...xyz" href $ do
284 Handles inh _ <- readIORef href
288 Handles inh _ <- readIORef href
285− (S.length $ FL.splitOn
289+ (S.length $ FL.splitOnSeq
286 (toarr "abcdefghijklmnopqrstuvwxyz")
290 (toarr "abcdefghijklmnopqrstuvwxyz")
288 $ FH.read inh) -- >>= print
292 $ FH.read inh) -- >>= print
289− , mkBench "splitSuffixOn abc...xyz" href $ do
293+ , mkBench "splitOnSuffixSeq abc...xyz" href $ do
290 Handles inh _ <- readIORef href
294 Handles inh _ <- readIORef href
291− (S.length $ FL.splitSuffixOn
295+ (S.length $ FL.splitOnSuffixSeq
292 (toarr "abcdefghijklmnopqrstuvwxyz")
296 (toarr "abcdefghijklmnopqrstuvwxyz")
294 $ FH.read inh) -- >>= print
298 $ FH.read inh) -- >>= print