on master help sign in
Add nested-concurrent benchmark
commitff99b4c1d0e2b7ad5a5dfbef3921ea5d941839f5 authorHarendra Kumar <harendra.kumar@gmail.com> dateSat 4 Jan 2020, 16:43 (7 years ago) parent57c2ddc
2 files changed+20−9
bench.sh+12−8 benchmark/Chart.hs+8−1
bench.sh+12−8
@@ -231,7 +231,7 @@ run_reports() {
231231#-----------------------------------------------------------------------------
232232
233233DEFAULT_BENCHMARKS="linear"
234−ALL_BENCHMARKS="linear linear-async linear-rate nested concurrrent fileio array base"
234+ALL_BENCHMARKS="linear linear-async linear-rate nested nested-concurrent concurrent fileio array base"
235235GROUP_DIFF=0
236236
237237COMPARE=0
@@ -290,25 +290,29 @@ then
290290 CABAL_BUILD_FLAGS="--flags dev"
291291fi
292292
293−if echo "$BENCHMARKS" | grep -q concurrent
294−then
295− STACK_BUILD_FLAGS="--flag streamly:dev"
296− CABAL_BUILD_FLAGS="--flags dev"
297−fi
293+for i in $BENCHMARKS
294+do
295+ if test "$i" = concurrent
296+ then
297+ STACK_BUILD_FLAGS="--flag streamly:dev"
298+ CABAL_BUILD_FLAGS="--flags dev"
299+ break
300+ fi
301+done
298302
299303if test "$USE_STACK" = "1"
300304then
301305 WHICH_COMMAND="stack exec which"
302306 BUILD_CHART_EXE="stack build --flag streamly:dev"
303307 GET_BENCH_PROG=stack_bench_prog
304− BUILD_BENCH="stack build $STACK_BUILD_FLAGS --flags "streamly:benchmark" --bench --no-run-benchmarks"
308+ BUILD_BENCH="stack build $STACK_BUILD_FLAGS --bench --no-run-benchmarks"
305309else
306310 # XXX cabal issue "cabal v2-exec which" cannot find benchmark/test executables
307311 #WHICH_COMMAND="cabal v2-exec which"
308312 WHICH_COMMAND=cabal_which
309313 BUILD_CHART_EXE="cabal v2-build --flags dev chart"
310314 GET_BENCH_PROG=cabal_bench_prog
311− BUILD_BENCH="cabal v2-build $CABAL_BUILD_FLAGS --flag benchmark --enable-benchmarks"
315+ BUILD_BENCH="cabal v2-build $CABAL_BUILD_FLAGS --enable-benchmarks"
312316fi
313317
314318#-----------------------------------------------------------------------------
benchmark/Chart.hs+8−1
@@ -27,6 +27,7 @@ data BenchType
2727 | LinearAsync
2828 | LinearRate
2929 | Nested
30+ | NestedConcurrent
3031 | Base
3132 | FileIO
3233 | Array
@@ -69,6 +70,7 @@ parseBench = do
6970 Just "linear-async" -> setBenchType LinearAsync
7071 Just "linear-rate" -> setBenchType LinearRate
7172 Just "nested" -> setBenchType Nested
73+ Just "nested-concurrent" -> setBenchType NestedConcurrent
7274 Just "base" -> setBenchType Base
7375 Just "fileio" -> setBenchType FileIO
7476 Just "array" -> setBenchType Array
@@ -345,10 +347,15 @@ main = do
345347 "charts/linear-rate/results.csv"
346348 "charts/linear-rate"
347349 Nested -> benchShow opts cfg
348− { title = Just "Nested loops 100 x 100 elems" }
350+ { title = Just "Nested loops 316 x 316 elems" }
349351 makeNestedGraphs
350352 "charts/nested/results.csv"
351353 "charts/nested"
354+ NestedConcurrent -> benchShow opts cfg
355+ { title = Just "Nested concurrent loops 316 x 316 elems" }
356+ makeNestedGraphs
357+ "charts/nested-concurrent/results.csv"
358+ "charts/nested-concurrent"
352359 FileIO -> benchShow opts cfg
353360 { title = Just "File IO" }
354361 makeFileIOGraphs