76ad7a7606f52ee61cbd35e770c1585bcc78ac15
[ghc.git] / testsuite / tests / perf / space_leaks / all.T
1
2 test('space_leak_001',
3      # Before trac #2747 was fixed this was 565.
4      # Now it's: 3 (amd64/Linux)
5      #           4 (x86/OS X)
6      #           5 (x86/Linux)
7      [stats_num_field('peak_megabytes_allocated', (3, 1)),
8                         # 3 (amd64/Linux, integer-gmp2)
9       stats_num_field('max_bytes_used',
10           [(wordsize(64), 440000, 15),
11                         # 440224 (amd64/Linux)
12                         # 417016 (x86/OS X)
13                         # 415672 (x86/Windows)
14                         # 481456 (unreg amd64/Linux)
15            (wordsize(32), 361400, 10)]),
16              # 2013-02-10 372072 (x86/OSX)
17              # 2013-02-10 439228 (x86/OSX)
18              # 2016-04-06 361400 (x86/Linux)
19
20       stats_num_field('bytes allocated', 
21            [ (wordsize(64), 11315747416, 5),
22                         # expected value: 9079316016 (amd64/Linux)
23                         #                 9331570416 (x86/Linux)
24                         #                 9329073952 (x86/OS X)
25                         #                 9327959840 (x86/Windows)
26                         #                 11315747416 (amd64/Lnx, integer-gmp2)
27
28              (wordsize(32), 13550759068, 5),
29             # 2014-12-01  13550759068 (Windows)
30               
31             ]),
32       omit_ways(['profasm','profthreaded','threaded1','threaded2'])
33       ],
34      compile_and_run,
35      [''])
36
37 test('T4334',
38      # Test for a space leak in Data.List.lines (fixed with #4334)
39      [extra_run_opts('1000000 2 t'),
40       stats_num_field('peak_megabytes_allocated', (2, 1)),
41       # prof ways don't work well with +RTS -V0
42       omit_ways(['profasm','profthreaded'])
43       ],
44      compile_and_run, [''])
45
46 test('T2762',
47      [# peak_megabytes_allocated is 2 with 7.0.2.
48       # Was 57 with 6.12.3.
49       # 2016-08-31:     3 (allocation area size bumped to 1MB)
50       stats_num_field('peak_megabytes_allocated', (3, 0)),
51       only_ways(['normal']),
52       extra_clean(['T2762A.hi', 'T2762A.o'])],
53      compile_and_run, ['-O'])
54
55 test('T4018',
56      [ only_ways(['optasm']), extra_run_opts('+RTS -M10m -RTS') ],
57      compile_and_run, ['-fno-state-hack'])
58
59 test('T4029',
60      [stats_num_field('peak_megabytes_allocated',
61           [(wordsize(64), 80, 10)]),
62             # 2016-02-26: 66 (amd64/Linux)           INITIAL
63             # 2016-05-23: 82 (amd64/Linux)           Use -G1
64             # 2016-07-13: 92 (amd64/Linux)           Changes to tidyType
65             # 2016-09-01: 71 (amd64/Linux)           Restore w/w limit (#11565)
66             # 2017-02-12: 80 (amd64/Linux)           Type-indexed Typeable
67       stats_num_field('max_bytes_used',
68           [(wordsize(64), 24151096, 5)]),
69             # 2016-02-26: 24071720 (amd64/Linux)     INITIAL
70             # 2016-04-21: 25542832 (amd64/Linux)
71             # 2016-05-23: 25247216 (amd64/Linux)     Use -G1
72             # 2016-07-13: 27575416 (amd64/Linux)     Changes to tidyType
73             # 2016-07-20: 22920616 (amd64/Linux)     Fix laziness of instance matching
74             # 2016-09-01: 21648488 (amd64/Linux)     Restore w/w limit (#11565)
75             # 2016-10-13: 20325248 (amd64/Linux)     Creep (downwards, yay!)
76             # 2016-11-14: 21387048 (amd64/Linux)     Creep back upwards :(
77             # 2017-01-18: 21670448 (amd64/Linux)     Float string literals to toplevel
78             # 2017-02-07: 22770352 (amd64/Linux)     It is unclear
79             # 2017-02-12: 24151096 (amd64/Linux)     Type-indexed Typeable
80       extra_hc_opts('+RTS -G1 -RTS' ),
81       ],
82      ghci_script,
83      ['T4029.script'])