diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2021-10-07 23:47:08 +0200 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2021-10-07 23:47:08 +0200 |
commit | ba0e8418c85de0e8867ba8b07443f41fbd4c7b31 (patch) | |
tree | 709de5615261ce3e2718329962ce975d634f17f0 | |
parent | 298df16d7005a3cead2df1cc7280509ddf7c6c76 (diff) | |
download | haskell-ba0e8418c85de0e8867ba8b07443f41fbd4c7b31.tar.gz |
New test case: Variant of T14052 with data type definitionswip/joachim/T14052Type-test
previous attempts at fixing #11547 and #20455 were reverted because they
showed some quadratic behaviour, and the test case T15052 was added to
catch that.
I believe that similar quadratic behavor can be triggered with current
master, by using type definitions rather than value definitions, so this
adds a test case similar to T14052. I have hopes that my attempts at
fixing #11547 will lead to code that avoid the quadratic increase here.
Or not, we will see. In any case, having this in `master` and included
in future comparisons will be useful.
-rw-r--r-- | testsuite/tests/perf/should_run/T14052Type.hs | 3 | ||||
-rw-r--r-- | testsuite/tests/perf/should_run/T14052Type.script | 1003 | ||||
-rw-r--r-- | testsuite/tests/perf/should_run/all.T | 5 |
3 files changed, 1011 insertions, 0 deletions
diff --git a/testsuite/tests/perf/should_run/T14052Type.hs b/testsuite/tests/perf/should_run/T14052Type.hs new file mode 100644 index 0000000000..cb0c77629f --- /dev/null +++ b/testsuite/tests/perf/should_run/T14052Type.hs @@ -0,0 +1,3 @@ +module T14052Type where + +data T = T diff --git a/testsuite/tests/perf/should_run/T14052Type.script b/testsuite/tests/perf/should_run/T14052Type.script new file mode 100644 index 0000000000..dc45171fd8 --- /dev/null +++ b/testsuite/tests/perf/should_run/T14052Type.script @@ -0,0 +1,1003 @@ +:l T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type +data T = T +:m T14052Type diff --git a/testsuite/tests/perf/should_run/all.T b/testsuite/tests/perf/should_run/all.T index 6e603b46f4..2a7ab46026 100644 --- a/testsuite/tests/perf/should_run/all.T +++ b/testsuite/tests/perf/should_run/all.T @@ -332,6 +332,11 @@ test('T14052', ghci_script, ['T14052.script']) +test('T14052Type', + [collect_compiler_stats('bytes allocated',15)], + ghci_script, + ['T14052Type.script']) + test('T14936', [collect_stats('bytes allocated',10)], compile_and_run, |