on master help sign in
Add benchmarks for Parser(D).groupByRolling
commit1e099defbb619a95f8556dab879395bbe78f1813 authorAdithya Kumar <adithya@composewell.com> dateSun 24 Jan 2021, 13:02 (6 years ago) parente40c09c
2 files changed+10
benchmark/Streamly/Benchmark/Data/Parser.hs+5 benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+5
benchmark/Streamly/Benchmark/Data/Parser.hs+5
@@ -80,6 +80,10 @@ takeWhile value = IP.parse (PR.takeWhile (<= value) FL.drain)
8080groupBy :: MonadCatch m => SerialT m Int -> m ()
8181groupBy = IP.parse (PR.groupBy (<=) FL.drain)
8282
83+{-# INLINE groupByRolling #-}
84+groupByRolling :: MonadCatch m => SerialT m Int -> m ()
85+groupByRolling = IP.parse (PR.groupByRolling (<=) FL.drain)
86+
8387{-# INLINE wordBy #-}
8488wordBy :: MonadCatch m => Int -> SerialT m Int -> m ()
8589wordBy value = IP.parse (PR.wordBy (>= value) FL.drain)
@@ -281,6 +285,7 @@ o_1_space_serial value =
281285 , benchIOSink value "takeWhile" $ takeWhile value
282286 , benchIOSink value "drainWhile" $ drainWhile value
283287 , benchIOSink value "groupBy" $ groupBy
288+ , benchIOSink value "groupByRolling" $ groupByRolling
284289 , benchIOSink value "wordBy" $ wordBy value
285290 , benchIOSink value "splitAp" $ splitAp value
286291 , benchIOSink value "splitApBefore" $ splitApBefore value
benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+5
@@ -71,6 +71,10 @@ takeWhile value = IP.parseD (drainWhile (<= value))
7171groupBy :: MonadThrow m => SerialT m Int -> m ()
7272groupBy = IP.parseD (PR.groupBy (<=) FL.drain)
7373
74+{-# INLINE groupByRolling #-}
75+groupByRolling :: MonadThrow m => SerialT m Int -> m ()
76+groupByRolling = IP.parseD (PR.groupByRolling (<=) FL.drain)
77+
7478{-# INLINE wordBy #-}
7579wordBy :: MonadThrow m => Int -> SerialT m Int -> m ()
7680wordBy value = IP.parseD (PR.wordBy (>= value) FL.drain)
@@ -213,6 +217,7 @@ o_1_space_serial :: Int -> [Benchmark]
213217o_1_space_serial value =
214218 [ benchIOSink value "takeWhile" $ takeWhile value
215219 , benchIOSink value "groupBy" $ groupBy
220+ , benchIOSink value "groupByRolling" $ groupByRolling
216221 , benchIOSink value "wordBy" $ wordBy value
217222 , benchIOSink value "splitWith" $ splitWith value
218223 , benchIOSink value "many" many