diff options
Diffstat (limited to 'testsuite/tests/perf')
-rw-r--r-- | testsuite/tests/perf/compiler/Makefile | 4 | ||||
-rw-r--r-- | testsuite/tests/perf/compiler/all.T | 16 | ||||
-rw-r--r-- | testsuite/tests/perf/space_leaks/T4029.script | 216 | ||||
-rw-r--r-- | testsuite/tests/perf/space_leaks/all.T | 2 |
4 files changed, 129 insertions, 109 deletions
diff --git a/testsuite/tests/perf/compiler/Makefile b/testsuite/tests/perf/compiler/Makefile index 66597883b6..20f5704450 100644 --- a/testsuite/tests/perf/compiler/Makefile +++ b/testsuite/tests/perf/compiler/Makefile @@ -12,3 +12,7 @@ T11068: '$(TEST_HC)' $(TEST_HC_OPTS) -c -O T11068a.hs '$(TEST_HC)' $(TEST_HC_OPTS) -c -O T11068b.hs -'$(TEST_HC)' $(TEST_HC_OPTS) -c -O T11068.hs -ddump-simpl | grep 'Generic' + +MultiModulesRecomp: + ./genMultiLayerModules + '$(TEST_HC)' $(TEST_HC_OPTS) -v0 MultiLayerModules.hs diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index 04d03e0568..eadf2ff920 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -276,6 +276,22 @@ test('MultiLayerModules', multimod_compile, ['MultiLayerModules', '-v0']) +# MultiLayerModules flip flops by 2.5%, depending on the +# number of modules within GHC (#19293). Just widen the +# acceptance window until we figured out how to fix it. +test('MultiLayerModulesRecomp', + [ collect_compiler_stats('bytes allocated',3), + pre_cmd('$MAKE -s --no-print-directory MultiModulesRecomp'), + extra_files(['genMultiLayerModules']), + compile_timeout_multiplier(5) + # this is _a lot_ + # but this test has been failing every now and then, + # especially on i386. Let's just give it some room + # to complete successfully reliably everywhere. + ], + multimod_compile, + ['MultiLayerModules', '-v0']) + test('ManyConstructors', [ collect_compiler_stats('bytes allocated',2), pre_cmd('./genManyConstructors'), diff --git a/testsuite/tests/perf/space_leaks/T4029.script b/testsuite/tests/perf/space_leaks/T4029.script index 91135c9477..f2faa4fd1a 100644 --- a/testsuite/tests/perf/space_leaks/T4029.script +++ b/testsuite/tests/perf/space_leaks/T4029.script @@ -102,203 +102,203 @@ -- Load a minimalist module and reload it 99 times :load T4029a -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -:! touch T4029a.hs +:! echo >> T4029a.hs :reload -- Load a more complex module 10 times @@ -315,21 +315,21 @@ -- Load a more complex module and reload it 9 times :load T4029b -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload -:! touch T4029b.hs +:! echo >> T4029b.hs :reload diff --git a/testsuite/tests/perf/space_leaks/all.T b/testsuite/tests/perf/space_leaks/all.T index deb5ea38e4..f6638555c9 100644 --- a/testsuite/tests/perf/space_leaks/all.T +++ b/testsuite/tests/perf/space_leaks/all.T @@ -31,7 +31,7 @@ test('T4018', compile_and_run, ['-fno-state-hack']) test('T4029', - [collect_runtime_residency(10), + [copy_files, collect_runtime_residency(10), ], ghci_script, ['T4029.script']) |