[commit: testsuite] master: Disable -dcore-lint for compiler perf tests (aee36f1)

Simon Marlow marlowsd at gmail.com
Thu Feb 16 11:45:47 CET 2012


Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/aee36f1c7d98bfa233f4d81ff6c2fe47c08c9d0a

>---------------------------------------------------------------

commit aee36f1c7d98bfa233f4d81ff6c2fe47c08c9d0a
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Wed Feb 15 14:36:08 2012 +0000

    Disable -dcore-lint for compiler perf tests
    
    We aren't interested in the performance of Core Lint as much as the
    performance of the compiler itself, and some of these tests spend more
    than half of their time in Core Lint.
    
    I've updated the 64-bit bounds for now, the 32-bit bounds still need to
    be updated.

>---------------------------------------------------------------

 tests/perf/compiler/all.T |   64 +++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 31 deletions(-)

diff --git a/tests/perf/compiler/all.T b/tests/perf/compiler/all.T
index 81b523c..08c73e8 100644
--- a/tests/perf/compiler/all.T
+++ b/tests/perf/compiler/all.T
@@ -1,3 +1,10 @@
+def no_core_lint(opts):
+   opts.compiler_always_flags = \
+       filter(lambda opt: opt != '-dcore-lint', opts.compiler_always_flags)
+
+setTestOpts(no_core_lint)
+
+
 test('T1969',
      [if_wordsize(32,
           compiler_stats_num_field('peak_megabytes_allocated', 13,
@@ -32,7 +39,10 @@ test('T1969',
                                     # 08/12/2009:     459,776,680 (amd64/Linux)
                                     # 17/05/2010:     519,377,728 (amd64/Linux)
                                     # 05/08/2011:     561,382,568 (amd64/OS X)
-      only_ways(['normal'])
+      only_ways(['normal']),
+      extra_hc_opts('-dcore-lint')
+          # Leave -dcore-lint on for this one test, so that we have something
+          # that will catch a regression in -dcore-lint performance.
       ],
      compile,
      [''])
@@ -82,9 +92,8 @@ test('T4801',
       if_wordsize(32,
       #                                expected value x86/OSX: 27
           compiler_stats_num_field('peak_megabytes_allocated', 25, 29)),
-      # expected value: 48-54 (amd64/Linux):
-      if_wordsize(64,
-          compiler_stats_num_field('peak_megabytes_allocated', 47, 54)),
+      if_wordsize(64, # sample from (amd64/Linux):
+          compiler_stats_range_field('peak_megabytes_allocated', 47, 10)),
       # expected value: 58 (amd64/OS X):
       if_platform('x86_64-apple-darwin',
           compiler_stats_num_field('peak_megabytes_allocated', 56, 60)),
@@ -92,10 +101,8 @@ test('T4801',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 200000000,
                                                       240000000)),
-      # expected value: 458700632 (amd64/Linux):
-      if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 440000000,
-                                                      480000000)),
+      if_wordsize(64, # (amd64/Linux):
+          compiler_stats_range_field('bytes allocated', 360243576, 10)),
       # expected value: 510938976 (amd64/OS X):
       if_platform('x86_64-apple-darwin',
           compiler_stats_num_field('bytes allocated', 490000000,
@@ -130,10 +137,10 @@ test('T3064',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 50000000,
                                                       70000000)),
-      # expected value: 108937496 (amd64/Linux) (28/6/2011):
+      # expected value: 73259544 (amd64/Linux) (28/6/2011):
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 110000000,
-                                                      140000000)),
+          compiler_stats_num_field('bytes allocated', 60000000,
+                                                      80000000)),
       # expected value: 2247016 (x86/Linux) (28/6/2011):
       if_wordsize(32,
           compiler_stats_num_field('max_bytes_used', 2000000,
@@ -157,11 +164,10 @@ test('T5030',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 400000000,
                                                       500000000)),
-      # expected value: 902776064 (amd64/Linux):
+      # expected value: 346750856 (amd64/Linux):
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 750000000,
-#                                                     (reduced from 80... Feb12)
-                                                     1000000000)),
+          compiler_stats_num_field('bytes allocated', 300000000,
+                                                      400000000)),
        only_ways(['normal'])
       ],
      compile,
@@ -172,10 +178,10 @@ test('T5631',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 1000000000,
                                                       1200000000)),
-      # expected value: 1255998208 (amd64/Linux):
+      # expected value: 774,595,008 (amd64/Linux):
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 2000000000,
-                                                      2400000000)),
+          compiler_stats_num_field('bytes allocated', 600000000,
+                                                      900000000)),
        only_ways(['normal'])
       ],
      compile,
@@ -201,10 +207,9 @@ test('T783',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 125000000,
                                                       225000000)),
-      # expected value: 390895576 (amd64/Linux):
+      # sample: 349263216 (amd64/Linux)
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 350000000,
-                                                      450000000))
+          compiler_stats_range_field('bytes allocated', 349263216, 10))
       ],
       compile,[''])
 
@@ -214,10 +219,9 @@ test('T5321Fun',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 1000000000,
                                                       1100000000)),
-      # expected value: 390895576 (amd64/Linux):
+      # expected value: 669165280 (amd64/Linux):
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 2000000000,
-                                                      2200000000))
+          compiler_stats_range_field('bytes allocated', 669165280, 10))
       ],
       compile,[''])
 
@@ -227,10 +231,9 @@ test('T5321FD',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 500000000,
                                                       600000000)),
-      # expected value: 390895576 (amd64/Linux):
+      # expected value: 500642456 (amd64/Linux):
       if_wordsize(64,
-          compiler_stats_num_field('bytes allocated', 1000000000,
-                                                      1200000000))
+          compiler_stats_range_field('bytes allocated', 500642456, 10))
       ],
       compile,[''])
 
@@ -239,10 +242,9 @@ test('T5642',
       if_wordsize(32,
           compiler_stats_num_field('bytes allocated', 840000000,
                                                       910000000)),
+
+      # sample: 3926235424 (amd64/Linux, 15/2/2012)
       if_wordsize(64,
-      #                               expected value: 8579867832 (amd64/Linux):
-      #                                                 (reduced from 90... Feb12)
-          compiler_stats_num_field('bytes allocated', 8400000000,
-                                                      9100000000))
+          compiler_stats_range_field('bytes allocated', 3926235424, 10))
       ],
       compile,['-O'])





More information about the Cvs-ghc mailing list