on master help sign in
Add consumeMany benchmark
commit3201dc832822186456d671ea6dc66430840f5842 authorHarendra Kumar <harendra@composewell.com> dateSat 9 Oct 2021, 20:37 (5 years ago) parent5342b16
1 file changed+9
benchmark/Streamly/Benchmark/Prelude/Serial/NestedFold.hs+9
benchmark/Streamly/Benchmark/Prelude/Serial/NestedFold.hs+9
@@ -141,6 +141,14 @@ foldMany =
141141 . Internal.foldMany (FL.take 2 FL.mconcat)
142142 . S.map Sum
143143
144+{-# INLINE consumeMany #-}
145+consumeMany :: Monad m => SerialT m Int -> m ()
146+consumeMany =
147+ S.drain
148+ . S.map getSum
149+ . Internal.consumeMany (Consumer.take 2 Consumer.sconcat) (return mempty)
150+ . S.map Sum
151+
144152{-# INLINE foldIterateM #-}
145153foldIterateM :: Monad m => SerialT m Int -> m ()
146154foldIterateM =
@@ -169,6 +177,7 @@ o_1_space_grouping value =
169177 , benchIOSink value "groupsByRollingLT" groupsByRollingLT
170178 , benchIOSink value "groupsByRollingEq" groupsByRollingEq
171179 , benchIOSink value "foldMany" foldMany
180+ , benchIOSink value "consumeMany" consumeMany
172181 , benchIOSink value "foldIterateM" foldIterateM
173182 , benchIOSink value "consumeIterateM" consumeIterateM
174183 ]