on master help sign in
Add benchmarks for foldIterateM
commit7da0593dbb64a715ea468e3f0593d61863576a91 authorAdithya Kumar <adithya@composewell.com> dateSat 6 Mar 2021, 06:00 (6 years ago) parentb625332
1 file changed+8−8
benchmark/Streamly/Benchmark/Prelude/Serial/Transformation2.hs+8−8
benchmark/Streamly/Benchmark/Prelude/Serial/Transformation2.hs+8−8
@@ -141,13 +141,13 @@ foldMany =
141141 . Internal.foldMany (FL.take 2 FL.mconcat)
142142 . S.map Sum
143143
144−{-# INLINE _foldIterate #-}
145−_foldIterate :: Monad m => SerialT m Int -> m ()
146−_foldIterate =
147− S.drain
148− . S.map getSum
149− . Internal.foldIterate (FL.take 2 . FL.sconcat) (Sum 0)
150− . S.map Sum
144+{-# INLINE foldIterateM #-}
145+foldIterateM :: Monad m => SerialT m Int -> m ()
146+foldIterateM =
147+ S.drain
148+ . S.map getSum
149+ . Internal.foldIterateM (return . FL.take 2 . FL.sconcat) (Sum 0)
150+ . S.map Sum
151151
152152o_1_space_grouping :: Int -> [Benchmark]
153153o_1_space_grouping value =
@@ -159,7 +159,7 @@ o_1_space_grouping value =
159159 , benchIOSink value "groupsByRollingLT" groupsByRollingLT
160160 , benchIOSink value "groupsByRollingEq" groupsByRollingEq
161161 , benchIOSink value "foldMany" foldMany
162− -- , benchIOSink value "foldIterate" foldIterate
162+ , benchIOSink value "foldIterateM" foldIterateM
163163 ]
164164 ]
165165