Skip to content

Commit 2d9fa41

Browse files
Remove obsolete bench-runner options, update Data.Stream options
1 parent e710d45 commit 2d9fa41

File tree

1 file changed

+66
-101
lines changed

1 file changed

+66
-101
lines changed

benchmark/bench-runner/Main.hs

Lines changed: 66 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -25,76 +25,12 @@ rtsOpts exeName benchName0 = unwords [general, exeSpecific, benchSpecific]
2525
| otherwise = ""
2626

2727
exeSpecific
28-
| "Prelude.Concurrent" `isSuffixOf` exeName = "-K512K -M384M"
28+
-- | "Data.Stream.ConcurrentEager" `isSuffixOf` exeName = "-K512K -M384M"
29+
-- placeholder to remind usage of exeName
30+
| "abc" `isSuffixOf` exeName = ""
2931
| otherwise = ""
3032

3133
benchSpecific
32-
-- GHC-9.6 requires 64M, earlier it was 16M
33-
| "Data.Fold/o-n-heap.key-value.toHashMapIO (max buckets) sum" == benchName =
34-
"-M64M"
35-
36-
-- This is required only for the --long case because we allocate all
37-
-- the arrays upfront. depends on the size of the stream.
38-
| "Data.Parser/o-1-space" `isPrefixOf` benchName =
39-
"-M128M"
40-
41-
-----------------------------------------------------------------------
42-
43-
| "Prelude.Parallel/o-n-heap.mapping.mapM" == benchName = "-M256M"
44-
| "Prelude.Parallel/o-n-heap.monad-outer-product."
45-
`isPrefixOf` benchName = "-M256M"
46-
| "Prelude.Parallel/o-n-space.monad-outer-product."
47-
`isPrefixOf` benchName = "-K2M -M256M"
48-
| "Prelude.Rate/o-1-space." `isPrefixOf` benchName = "-K128K"
49-
| "Prelude.Rate/o-1-space.asyncly." `isPrefixOf` benchName = "-K128K"
50-
| "Prelude.WSerial/o-n-space." `isPrefixOf` benchName = "-K4M"
51-
| "Prelude.Async/o-n-space.monad-outer-product." `isPrefixOf` benchName =
52-
"-K4M"
53-
| "Prelude.Ahead/o-1-space.monad-outer-product." `isPrefixOf` benchName =
54-
"-K128K -M32M"
55-
| "Prelude.Ahead/o-1-space." `isPrefixOf` benchName = "-K128K"
56-
| "Prelude.Ahead/o-n-space.monad-outer-product." `isPrefixOf` benchName =
57-
"-K4M"
58-
| "Prelude.WAsync/o-n-heap.monad-outer-product.toNull3" == benchName =
59-
"-M64M"
60-
| "Prelude.WAsync/o-n-space.monad-outer-product." `isPrefixOf` benchName =
61-
"-K4M"
62-
63-
-----------------------------------------------------------------------
64-
65-
| "Data.StreamD/o-n-space.elimination.toList" == benchName =
66-
"-K2M"
67-
| "Data.StreamK/o-n-space.elimination.toList" == benchName =
68-
"-K2M"
69-
-- XXX Memory required for these has increased in streamly-core 0.3
70-
| "Data.StreamK/o-1-space.list.nested" `isPrefixOf` benchName =
71-
"-M640M"
72-
73-
-----------------------------------------------------------------------
74-
75-
| "Data.Stream/o-1-space.grouping.classifySessionsOf"
76-
`isPrefixOf` benchName = "-K512K"
77-
| "Data.Stream/o-n-space.foldr.foldrM/"
78-
`isPrefixOf` benchName = "-K4M"
79-
| "Data.Stream/o-n-space.iterated."
80-
`isPrefixOf` benchName = "-K4M"
81-
82-
-- GHC-9.6 requires 64M, earlier it was 32M
83-
| "Data.Stream/o-n-heap.buffered.showPrec Haskell lists" == benchName =
84-
"-M64M"
85-
-- GHC-9.6 requires 64M, earlier it was 32M
86-
| "Data.Stream/o-n-heap.buffered.readsPrec pure streams" == benchName =
87-
"-M64M"
88-
89-
| "Data.Stream.ConcurrentEager/o-n-heap.monad-outer-product.toNullAp"
90-
`isPrefixOf` benchName = "-M1500M"
91-
| "Data.Stream.ConcurrentEager/o-1-space."
92-
`isPrefixOf` benchName = "-M128M"
93-
94-
| "Data.Stream.ConcurrentOrdered/o-1-space.concat-foldable.foldMapWith"
95-
`isPrefixOf` benchName = "-K128K"
96-
97-
----------------------------------------------------------------------
9834

9935
| "Data.Array" `isPrefixOf` benchName
10036
&& "/o-1-space.generation.read" `isSuffixOf` benchName = "-M32M"
@@ -110,6 +46,20 @@ rtsOpts exeName benchName0 = unwords [general, exeSpecific, benchSpecific]
11046
-- chunked stream benchmarks in the stream module.
11147
| "Data.Array.Stream/o-1-space"
11248
`isPrefixOf` benchName = "-K4M -M512M"
49+
50+
----------------------------------------------------------------------
51+
52+
-- GHC-9.6 requires 64M, earlier it was 16M
53+
| "Data.Fold/o-n-heap.key-value.toHashMapIO (max buckets) sum"
54+
== benchName = "-M64M"
55+
56+
----------------------------------------------------------------------
57+
58+
-- This is required only for the --long case because we allocate all
59+
-- the arrays upfront. depends on the size of the stream.
60+
| "Data.Parser/o-1-space"
61+
`isPrefixOf` benchName = "-M128M"
62+
11363
-- XXX Takes up to 160MB heap for --long, we use chunked stream for
11464
-- this, so the reason may be related to chunked streams.
11565
| "Data.ParserK/o-1-space"
@@ -119,12 +69,50 @@ rtsOpts exeName benchName0 = unwords [general, exeSpecific, benchSpecific]
11969
| "Data.ParserK.Chunked.Generic/o-1-space"
12070
`isPrefixOf` benchName = "-K4M -M256M"
12171

122-
{-
123-
-- XXX This options does not seem to take effect. "ParserK.Chunked"
124-
-- needs more memory to work with --long option
125-
| "Data.ParserK.Chunked.Generic/o-1-space"
126-
`isPrefixOf` benchName = "-K4M -M256M"
127-
-}
72+
-----------------------------------------------------------------------
73+
74+
| "Data.Stream/o-1-space.grouping.classifySessionsOf"
75+
`isPrefixOf` benchName = "-K512K"
76+
77+
-- GHC-9.6 requires 64M, earlier it was 32M
78+
| "Data.Stream/o-n-heap.buffered.showPrec Haskell lists"
79+
== benchName = "-M64M"
80+
-- GHC-9.6 requires 64M, earlier it was 32M
81+
| "Data.Stream/o-n-heap.buffered.readsPrec pure streams"
82+
== benchName = "-M64M"
83+
84+
| "Data.Stream/o-n-space.foldr.foldrM/"
85+
`isPrefixOf` benchName = "-K4M"
86+
| "Data.Stream/o-n-space.iterated."
87+
`isPrefixOf` benchName = "-K4M"
88+
| "Data.Stream/o-n-space.toList.toList"
89+
`isPrefixOf` benchName = "-K2M"
90+
| "Data.Stream/o-n-space.Monad.toList"
91+
`isPrefixOf` benchName = "-K2M"
92+
93+
-----------------------------------------------------------------------
94+
95+
| "Data.StreamK/o-n-space.elimination.toList"
96+
== benchName = "-K2M"
97+
-- XXX Memory required for these has increased in streamly-core 0.3
98+
| "Data.StreamK/o-1-space.list.nested"
99+
`isPrefixOf` benchName = "-M500M"
100+
101+
----------------------------------------------------------------------
102+
-- Concurrent streams
103+
----------------------------------------------------------------------
104+
105+
| "Data.Stream.ConcurrentInterleaved/o-n-heap.cross-product.monad3"
106+
`isPrefixOf` benchName = "-M128M"
107+
108+
| "Data.Stream.ConcurrentEager/o-1-space."
109+
`isPrefixOf` benchName = "-M128M"
110+
111+
| "Data.Stream.ConcurrentEager/o-n-heap.cross-product"
112+
`isPrefixOf` benchName = "-M500M"
113+
114+
| "Data.Stream.ConcurrentOrdered/o-1-space.concat-foldable.foldMapWith"
115+
`isPrefixOf` benchName = "-K128K"
128116

129117
-----------------------------------------------------------------------
130118

@@ -141,38 +129,15 @@ speedOpts exeName benchName0 = exeSpecific <|> benchSpecific
141129
-- slowestOf _ Quicker = Quicker
142130
-- slowestOf _ _ = SuperQuick
143131

144-
-- Drop All.
132+
-- Drop the "All." prefix
145133
benchName = drop 4 benchName0
146134
exeSpecific
147-
| "Prelude.Concurrent" == exeName = Just SuperQuick
148-
| "Prelude.Rate" == exeName = Just SuperQuick
149-
| "Prelude.Adaptive" == exeName = Just SuperQuick
135+
| "Data.Stream.ConcurrentThreadHeavy" == exeName = Just SuperQuick
136+
| "Data.Stream.Rate" == exeName = Just SuperQuick
137+
| "Data.Stream.Adaptive" == exeName = Just SuperQuick
150138
| otherwise = Nothing
151139
benchSpecific
152-
| "Prelude.Parallel/o-n-heap.mapping.mapM" == benchName =
153-
Just SuperQuick
154-
| "Prelude.Parallel/o-n-heap.monad-outer-product."
155-
`isPrefixOf` benchName = Just SuperQuick
156-
| "Prelude.Parallel.o-n-space.monad-outer-product."
157-
`isPrefixOf` benchName = Just SuperQuick
158-
| "Prelude.Parallel/o-n-heap.generation." `isPrefixOf` benchName =
159-
Just Quicker
160-
| "Prelude.Parallel/o-n-heap.mapping." `isPrefixOf` benchName =
161-
Just Quicker
162-
| "Prelude.Parallel/o-n-heap.concat-foldable." `isPrefixOf` benchName =
163-
Just Quicker
164-
| "Prelude.Async/o-1-space.monad-outer-product." `isPrefixOf` benchName =
165-
Just Quicker
166-
| "Prelude.Async/o-n-space.monad-outer-product." `isPrefixOf` benchName =
167-
Just Quicker
168-
| "Prelude.Ahead/o-1-space.monad-outer-product." `isPrefixOf` benchName =
169-
Just Quicker
170-
| "Prelude.Ahead/o-n-space.monad-outer-product." `isPrefixOf` benchName =
171-
Just Quicker
172-
| "Prelude.WAsync/o-n-heap.monad-outer-product." `isPrefixOf` benchName =
173-
Just Quicker
174-
| "Prelude.WAsync/o-n-space.monad-outer-product." `isPrefixOf` benchName =
175-
Just Quicker
140+
| "-maxBuffer-1" `isInfixOf` benchName = Just SuperQuick
176141
| "FileSystem.Handle." `isPrefixOf` benchName = Just Quicker
177142
| otherwise = Nothing
178143

0 commit comments

Comments
 (0)