summaryrefslogtreecommitdiff
path: root/testsuite/tests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests')
-rw-r--r--testsuite/tests/perf/compiler/all.T11
-rwxr-xr-xtestsuite/tests/perf/compiler/genT1370114
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