summaryrefslogtreecommitdiff
path: root/testsuite/tests/perf/compiler/Makefile
diff options
context:
space:
mode:
authorZubin Duggal <zubin.duggal@gmail.com>2023-05-10 15:46:11 +0530
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-05-16 14:00:00 -0400
commit47a5815070a8ebf4ce1e00de0a44863fd9c1fb84 (patch)
tree5f286baadfdaa7ec30c0380e01fdb00440fd57d7 /testsuite/tests/perf/compiler/Makefile
parent6231a126562db917c882fdc5ecd0769081032d90 (diff)
downloadhaskell-47a5815070a8ebf4ce1e00de0a44863fd9c1fb84.tar.gz
testsuite: add test for T22744
This test checks for #22744 by compiling 100 modules which each have a dependency on 1000 distinct external files. Previously, when loading these interfaces from disk, each individual instance of a filepath in the interface will would be allocated as an individual object on the heap, meaning we have heap objects for 100*1000 files, when there are only 1000 distinct files we care about. This test checks this by first compiling the module normally, then measuring the peak memory usage in a no-op recompile, as the recompilation checking will force the allocation of all these filepaths.
Diffstat (limited to 'testsuite/tests/perf/compiler/Makefile')
-rw-r--r--testsuite/tests/perf/compiler/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/testsuite/tests/perf/compiler/Makefile b/testsuite/tests/perf/compiler/Makefile
index 762883b0b4..06f9ac1304 100644
--- a/testsuite/tests/perf/compiler/Makefile
+++ b/testsuite/tests/perf/compiler/Makefile
@@ -32,3 +32,8 @@ MultiLayerModulesTH_OneShot_Prep: MultiLayerModulesTH_Make_Prep
InstanceMatching:
./genMatchingTest 0
'$(TEST_HC)' $(TEST_HC_OPTS) -fno-code -fwrite-interface Defs.hs
+
+T22744:
+ ./genT22744
+ '$(TEST_HC)' $(TEST_HC_OPTS) T22744.hs
+