on master help sign in
Add benchmarks for takeP
commit15397be80279d6b8c319460ba2cfff8b8c408621 authorAdithya Kumar <adithya@composewell.com> dateSun 1 Aug 2021, 16:45 (5 years ago) parentc375be2
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
@@ -97,6 +97,10 @@ sliceBeginWith value stream = do
9797takeWhile :: MonadCatch m => Int -> SerialT m Int -> m ()
9898takeWhile value = IP.parse (PR.takeWhile (<= value) FL.drain)
9999
100+{-# INLINE takeP #-}
101+takeP :: MonadCatch m => Int -> SerialT m a -> m ()
102+takeP value = IP.parse (PR.takeP value (PR.fromFold FL.drain))
103+
100104{-# INLINE groupBy #-}
101105groupBy :: MonadCatch m => SerialT m Int -> m ()
102106groupBy = IP.parse (PR.groupBy (<=) FL.drain)
@@ -327,6 +331,7 @@ o_1_space_serial value =
327331 [ benchIOSink value "takeBetween" $ takeBetween value
328332 , benchIOSink value "takeEQ" $ takeEQ value
329333 , benchIOSink value "takeWhile" $ takeWhile value
334+ , benchIOSink value "takeP" $ takeP value
330335 , benchIOSink value "drainWhile" $ drainWhile value
331336 , benchIOSink value "sliceBeginWith" $ sliceBeginWith value
332337 , benchIOSink value "groupBy" $ groupBy
benchmark/Streamly/Benchmark/Data/Parser/ParserD.hs+5
@@ -79,6 +79,10 @@ sliceBeginWith value stream = do
7979takeWhile :: MonadThrow m => Int -> SerialT m Int -> m ()
8080takeWhile value = IP.parseD (drainWhile (<= value))
8181
82+{-# INLINE takeP #-}
83+takeP :: MonadThrow m => Int -> SerialT m a -> m ()
84+takeP value = IP.parseD (PR.takeP value (PR.fromFold FL.drain))
85+
8286{-# INLINE groupBy #-}
8387groupBy :: MonadThrow m => SerialT m Int -> m ()
8488groupBy = IP.parseD (PR.groupBy (<=) FL.drain)
@@ -289,6 +293,7 @@ moduleName = "Data.Parser.ParserD"
289293o_1_space_serial :: Int -> [Benchmark]
290294o_1_space_serial value =
291295 [ benchIOSink value "takeWhile" $ takeWhile value
296+ , benchIOSink value "takeP" $ takeP value
292297 , benchIOSink value "sliceBeginWith" $ sliceBeginWith value
293298 , benchIOSink value "groupBy" $ groupBy
294299 , benchIOSink value "groupByRolling" $ groupByRolling