@@ -1318,9 +1318,8 @@ groupsByGT = S.drain . S.groupsBy (>) FL.drain
1319{-# INLINE groupsByEq #-}
1319{-# INLINE groupsByEq #-}
1320groupsByEq :: MonadIO m => SerialT m Int -> m ()
1320groupsByEq :: MonadIO m => SerialT m Int -> m ()
1321−groupsByEq = S.drain . S.groupsBy (>) FL.drain
1321+groupsByEq = S.drain . S.groupsBy (==) FL.drain
1323−-- XXX Change this test when the order of comparison is later changed
1324{-# INLINE groupsByRollingLT #-}
1323{-# INLINE groupsByRollingLT #-}
1325groupsByRollingLT :: MonadIO m => SerialT m Int -> m ()
1324groupsByRollingLT :: MonadIO m => SerialT m Int -> m ()
1326groupsByRollingLT =
1325groupsByRollingLT =
@@ -1329,11 +1328,10 @@ groupsByRollingLT =
1329{-# INLINE groupsByRollingEq #-}
1328{-# INLINE groupsByRollingEq #-}
1330groupsByRollingEq :: MonadIO m => SerialT m Int -> m ()
1329groupsByRollingEq :: MonadIO m => SerialT m Int -> m ()
1331groupsByRollingEq =
1330groupsByRollingEq =
1332− S.drain . S.groupsByRolling (>) FL.drain
1331+ S.drain . S.groupsByRolling (==) FL.drain
1334o_1_space_grouping :: Int -> [Benchmark]
1333o_1_space_grouping :: Int -> [Benchmark]
1335o_1_space_grouping value =
1334o_1_space_grouping value =
1336− -- Buffering operations using heap proportional to group/window sizes.
1337 [ bgroup "grouping"
1335 [ bgroup "grouping"
1338 [ benchIOSink value "groups" groups
1336 [ benchIOSink value "groups" groups
1339 , benchIOSink value "groupsByGT" groupsByGT
1337 , benchIOSink value "groupsByGT" groupsByGT
@@ -2109,6 +2107,9 @@ main = do
2109 , o_1_space_indexing size
2107 , o_1_space_indexing size
2110 , o_1_space_indexingX4 size
2108 , o_1_space_indexingX4 size
2111+ , o_1_space_grouping size
2112 -- pipes
2113 -- pipes
2113 , o_1_space_pipes size
2114 , o_1_space_pipes size
2114 , o_1_space_pipesX4 size
2115 , o_1_space_pipesX4 size