diff options
Diffstat (limited to 'testsuite/tests')
-rw-r--r-- | testsuite/tests/perf/compiler/all.T | 11 | ||||
-rwxr-xr-x | testsuite/tests/perf/compiler/genT13701 | 14 |
2 files changed, 25 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index d4a937c0ef..8ea1c72ac7 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -1110,6 +1110,17 @@ test('MultiLayerModules', multimod_compile, ['MultiLayerModules', '-v0']) +test('T13701', + [ compiler_stats_num_field('bytes allocated', + [(platform('x86_64-apple-darwin'), 2217187888, 10), + (wordsize(64), 2511285600, 10), + ]), + pre_cmd('./genT13701'), + extra_files(['genT13701']), + ], + multimod_compile, + ['T13701', '-v0']) + test('T13719', [ compiler_stats_num_field('bytes allocated', [(wordsize(64), 5187889872, 10), diff --git a/testsuite/tests/perf/compiler/genT13701 b/testsuite/tests/perf/compiler/genT13701 new file mode 100755 index 0000000000..f2b7c4eab2 --- /dev/null +++ b/testsuite/tests/perf/compiler/genT13701 @@ -0,0 +1,14 @@ +#!/bin/bash +# Generate $DEPTH layers of modules with $WIDTH modules on each layer +# Every module on layer N imports all the modules on layer N-1 +# MultiLayerModules.hs imports all the modules from the last layer +DEPTH=0 +WIDTH=1000 +ROOT=T13701 +for i in $(seq -w 1 $WIDTH); do + echo "module DummyLevel0M$i where" > DummyLevel0M$i.hs; +done +echo "module $ROOT where" > "$ROOT.hs" +for j in $(seq -w 1 $WIDTH); do + echo "import DummyLevel${DEPTH}M$j" >> "$ROOT.hs"; +done |