on master help sign in
Move stream filtering into a seperate group in unfold benchmarks
d3f290badithyaov
benchmark/Streamly/Benchmark/Data/Unfold.hs+13−1
@@ -277,6 +277,10 @@ mapMWithInput size start =
277 (UF.mapMWithInput (\a b -> return $ a + b))
277 (UF.mapMWithInput (\a b -> return $ a + b))
278 start
278 start
279
279
280+-------------------------------------------------------------------------------
281+-- Stream filtering
282+-------------------------------------------------------------------------------
283+
280{-# INLINE takeWhileM #-}
284{-# INLINE takeWhileM #-}
281takeWhileM :: Monad m => Int -> Int -> m ()
285takeWhileM :: Monad m => Int -> Int -> m ()
282takeWhileM size start =
286takeWhileM size start =
@@ -462,7 +466,14 @@ o_1_space_transformation size =
462 [ benchIO "map" $ map size
466 [ benchIO "map" $ map size
463 , benchIO "mapM" $ mapM size
467 , benchIO "mapM" $ mapM size
464 , benchIO "mapMWithInput" $ mapMWithInput size
468 , benchIO "mapMWithInput" $ mapMWithInput size
469+ ]
470+ ]
471+
472+o_1_space_filtering :: Int -> [Benchmark]
473+o_1_space_filtering size =
474+ [ bgroup
475+ "filtering"
465− , benchIO "takeWhileM" $ takeWhileM size
476+ [ benchIO "takeWhileM" $ takeWhileM size
466 , benchIO "takeWhile" $ takeWhile size
477 , benchIO "takeWhile" $ takeWhile size
467 , benchIO "take" $ take size
478 , benchIO "take" $ take size
468 , benchIO "filter" $ filter size
479 , benchIO "filter" $ filter size
@@ -532,6 +543,7 @@ main = do
532 [ o_1_space_transformation_input size
543 [ o_1_space_transformation_input size
533 , o_1_space_generation size
544 , o_1_space_generation size
534 , o_1_space_transformation size
545 , o_1_space_transformation size
546+ , o_1_space_filtering size
535 , o_1_space_zip size
547 , o_1_space_zip size
536 , o_1_space_nested size
548 , o_1_space_nested size
537 ]
549 ]