@@ -33,6 +33,7 @@ import Test.Inspection
3333import qualified Streamly.Prelude as S
3434import qualified Streamly.Internal.Data.Stream.IsStream as Internal
3535import qualified Streamly.Internal.Data.Fold as FL
36+import qualified Streamly.Internal.Data.Unfold as Unfold
3637import qualified Prelude
3738
3839import Gauge
@@ -482,12 +483,24 @@ intersperseM value n = composeN n $ S.intersperseM (return $ value + 1)
482483insertBy :: MonadIO m => Int -> Int -> SerialT m Int -> m ()
483484insertBy value n = composeN n $ S.insertBy compare (value + 1)
484485
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
490+
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
495+
485496o_1_space_inserting :: Int -> [Benchmark]
486497o_1_space_inserting value =
487− [ bgroup "filtering"
498+ [ bgroup "inserting"
488499 [ benchIOSink value "intersperse" (intersperse value 1)
489500 , benchIOSink value "intersperseM" (intersperseM value 1)
490501 , benchIOSink value "insertBy" (insertBy value 1)
502+ , benchIOSink value "interposeSuffix" (interposeSuffix value 1)
503+ , benchIOSink value "intercalateSuffix" (intercalateSuffix value 1)
491504 ]
492505 ]
493506