on master help sign in
Add benchmarks for Parser(D).groupByRolling
1e099deAdithya Kumar
benchmark/Streamly/Benchmark/Data/Parser.hs+5
@@ -80,6 +80,10 @@ takeWhile value = IP.parse (PR.takeWhile (<= value) FL.drain)
80groupBy :: MonadCatch m => SerialT m Int -> m ()
80groupBy :: MonadCatch m => SerialT m Int -> m ()
81groupBy = IP.parse (PR.groupBy (<=) FL.drain)
81groupBy = IP.parse (PR.groupBy (<=) FL.drain)
82
82
83+{-# INLINE groupByRolling #-}
84+groupByRolling :: MonadCatch m => SerialT m Int -> m ()
85+groupByRolling = IP.parse (PR.groupByRolling (<=) FL.drain)
86+
83{-# INLINE wordBy #-}
87{-# INLINE wordBy #-}
84wordBy :: MonadCatch m => Int -> SerialT m Int -> m ()
88wordBy :: MonadCatch m => Int -> SerialT m Int -> m ()
85wordBy value = IP.parse (PR.wordBy (>= value) FL.drain)
89wordBy value = IP.parse (PR.wordBy (>= value) FL.drain)
@@ -281,6 +285,7 @@ o_1_space_serial value =
281 , benchIOSink value "takeWhile" $ takeWhile value
285 , benchIOSink value "takeWhile" $ takeWhile value
282 , benchIOSink value "drainWhile" $ drainWhile value
286 , benchIOSink value "drainWhile" $ drainWhile value
283 , benchIOSink value "groupBy" $ groupBy
287 , benchIOSink value "groupBy" $ groupBy
288+ , benchIOSink value "groupByRolling" $ groupByRolling
284 , benchIOSink value "wordBy" $ wordBy value
289 , benchIOSink value "wordBy" $ wordBy value
285 , benchIOSink value "splitAp" $ splitAp value
290 , benchIOSink value "splitAp" $ splitAp value
286 , benchIOSink value "splitApBefore" $ splitApBefore value
291 , benchIOSink value "splitApBefore" $ splitApBefore value
benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+5
@@ -71,6 +71,10 @@ takeWhile value = IP.parseD (drainWhile (<= value))
71groupBy :: MonadThrow m => SerialT m Int -> m ()
71groupBy :: MonadThrow m => SerialT m Int -> m ()
72groupBy = IP.parseD (PR.groupBy (<=) FL.drain)
72groupBy = IP.parseD (PR.groupBy (<=) FL.drain)
73
73
74+{-# INLINE groupByRolling #-}
75+groupByRolling :: MonadThrow m => SerialT m Int -> m ()
76+groupByRolling = IP.parseD (PR.groupByRolling (<=) FL.drain)
77+
74{-# INLINE wordBy #-}
78{-# INLINE wordBy #-}
75wordBy :: MonadThrow m => Int -> SerialT m Int -> m ()
79wordBy :: MonadThrow m => Int -> SerialT m Int -> m ()
76wordBy value = IP.parseD (PR.wordBy (>= value) FL.drain)
80wordBy value = IP.parseD (PR.wordBy (>= value) FL.drain)
@@ -213,6 +217,7 @@ o_1_space_serial :: Int -> [Benchmark]
213o_1_space_serial value =
217o_1_space_serial value =
214 [ benchIOSink value "takeWhile" $ takeWhile value
218 [ benchIOSink value "takeWhile" $ takeWhile value
215 , benchIOSink value "groupBy" $ groupBy
219 , benchIOSink value "groupBy" $ groupBy
220+ , benchIOSink value "groupByRolling" $ groupByRolling
216 , benchIOSink value "wordBy" $ wordBy value
221 , benchIOSink value "wordBy" $ wordBy value
217 , benchIOSink value "splitWith" $ splitWith value
222 , benchIOSink value "splitWith" $ splitWith value
218 , benchIOSink value "many" many
223 , benchIOSink value "many" many