@@ -17,6 +17,8 @@ import Gauge
1717
1818import Prelude hiding (concat)
1919
20+import qualified Prelude
21+
2022import Streamly.Benchmark.Common
2123import Streamly.Benchmark.Data.NestedUnfoldOps
2224
@@ -25,37 +27,31 @@ benchIO :: (NFData b) => String -> (Int -> IO b) -> Benchmark
2527benchIO name f = bench name $ nfIO $ randomRIO (1,1) >>= f
2628
2729-------------------------------------------------------------------------------
28−-- Stream folds
30+-- Outer product
2931-------------------------------------------------------------------------------
3032
31−o_1_space_serial_outerProductUnfolds :: Int -> [Benchmark]
32−o_1_space_serial_outerProductUnfolds value =
33− [ bgroup
34− "serially"
35− [ bgroup
36− "outer-product-unfolds"
37− [ benchIO "toNull" $ toNull value
38− , benchIO "toNull3" $ toNull3 value
39− , benchIO "concat" $ concat value
40− , benchIO "filterAllOut" $ filterAllOut value
41− , benchIO "filterAllIn" $ filterAllIn value
42− , benchIO "filterSome" $ filterSome value
43− , benchIO "breakAfterSome" $ breakAfterSome value
44− ]
45− ]
46− ]
33+moduleName :: String
34+moduleName = "Data.Unfold"
4735
36+o_1_space_serial :: Int -> [Benchmark]
37+o_1_space_serial value =
38+ [ bgroup "outer-product"
39+ [ benchIO "toNull" $ toNull value
40+ , benchIO "toNull3" $ toNull3 value
41+ , benchIO "concat" $ concat value
42+ , benchIO "filterAllOut" $ filterAllOut value
43+ , benchIO "filterAllIn" $ filterAllIn value
44+ , benchIO "filterSome" $ filterSome value
45+ , benchIO "breakAfterSome" $ breakAfterSome value
46+ ]
47+ ]
4848
49−o_n_space_serial_outerProductUnfolds :: Int -> [Benchmark]
50−o_n_space_serial_outerProductUnfolds value =
51− [ bgroup
52− "serially"
53− [ bgroup
54− "outer-product-unfolds"
55− [ benchIO "toList" $ toList value
56− , benchIO "toListSome" $ toListSome value
57− ]
58− ]
49+o_n_space_serial :: Int -> [Benchmark]
50+o_n_space_serial value =
51+ [ bgroup "outer-product"
52+ [ benchIO "toList" $ toList value
53+ , benchIO "toListSome" $ toListSome value
54+ ]
5955 ]
6056
6157-------------------------------------------------------------------------------
@@ -64,14 +60,14 @@ o_n_space_serial_outerProductUnfolds value =
6460
6561main :: IO ()
6662main = do
67− (value, cfg, benches) <- parseCLIOpts defaultStreamSize
68− value `seq` runMode (mode cfg) cfg benches (allBenchmarks value)
69− where
63+ (value, cfg, benches) <- parseCLIOpts defaultStreamSize
64+ value `seq` runMode (mode cfg) cfg benches (allBenchmarks value)
65+
66+ where
67+
7068 allBenchmarks value =
71− [ bgroup
72− "o-1-space"
73− [bgroup "unfold" (o_1_space_serial_outerProductUnfolds value)]
74− , bgroup
75− "o-n-space"
76− [bgroup "unfold" (o_n_space_serial_outerProductUnfolds value)]
77− ]
69+ [ bgroup (o_1_space_prefix moduleName) $ Prelude.concat
70+ [o_1_space_serial value]
71+ , bgroup (o_n_space_prefix moduleName) $ Prelude.concat
72+ [o_n_space_serial value]
73+ ]