@@ -33,6 +33,7 @@ import Test.Inspection
33import qualified Streamly.Prelude as S
33import qualified Streamly.Prelude as S
34import qualified Streamly.Internal.Data.Stream.IsStream as Internal
34import qualified Streamly.Internal.Data.Stream.IsStream as Internal
35import qualified Streamly.Internal.Data.Fold as FL
35import qualified Streamly.Internal.Data.Fold as FL
36+import qualified Streamly.Internal.Data.Unfold as Unfold
36import qualified Prelude
37import qualified Prelude
38import Gauge
39import Gauge
@@ -482,12 +483,24 @@ intersperseM value n = composeN n $ S.intersperseM (return $ value + 1)
482insertBy :: MonadIO m => Int -> Int -> SerialT m Int -> m ()
483insertBy :: MonadIO m => Int -> Int -> SerialT m Int -> m ()
483insertBy value n = composeN n $ S.insertBy compare (value + 1)
484insertBy value n = composeN n $ S.insertBy compare (value + 1)
486+{-# INLINE interposeSuffix #-}
487+interposeSuffix :: S.MonadAsync m => Int -> Int -> SerialT m Int -> m ()
488+interposeSuffix value n =
489+ composeN n $ Internal.interposeSuffix (value + 1) Unfold.identity
491+{-# INLINE intercalateSuffix #-}
492+intercalateSuffix :: S.MonadAsync m => Int -> Int -> SerialT m Int -> m ()
493+intercalateSuffix value n =
494+ composeN n $ Internal.intercalateSuffix (value + 1) Unfold.identity
485o_1_space_inserting :: Int -> [Benchmark]
496o_1_space_inserting :: Int -> [Benchmark]
486o_1_space_inserting value =
497o_1_space_inserting value =
487− [ bgroup "filtering"
498+ [ bgroup "inserting"
488 [ benchIOSink value "intersperse" (intersperse value 1)
499 [ benchIOSink value "intersperse" (intersperse value 1)
489 , benchIOSink value "intersperseM" (intersperseM value 1)
500 , benchIOSink value "intersperseM" (intersperseM value 1)
490 , benchIOSink value "insertBy" (insertBy value 1)
501 , benchIOSink value "insertBy" (insertBy value 1)
502+ , benchIOSink value "interposeSuffix" (interposeSuffix value 1)
503+ , benchIOSink value "intercalateSuffix" (intercalateSuffix value 1)