[commit: ghc] master: 32-bit performance changes following constraint solver improvements (058262b)

git at git.haskell.org git at git.haskell.org
Thu Dec 11 23:19:20 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/058262bac0bbcd65f40703bf8047238ffa30d2c3/ghc

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

commit 058262bac0bbcd65f40703bf8047238ffa30d2c3
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Thu Dec 11 20:32:02 2014 +0000

    32-bit performance changes following constraint solver improvements
    
    Things get faster, except T5030


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

058262bac0bbcd65f40703bf8047238ffa30d2c3
 testsuite/tests/perf/compiler/all.T | 19 +++++++++++++------
 testsuite/tests/perf/haddock/all.T  |  3 ++-
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index 3d3f6b1..b98a9bc 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -311,10 +311,13 @@ test('T4007',
 
 test('T5030',
      [compiler_stats_num_field('bytes allocated',
-          [(wordsize(32), 198573456, 10),
+          [(wordsize(32), 227205560, 10),
            # previous:    196457520
            # 2012-10-08:  259547660 (x86/Linux, new codegen)
            # 2013-11-21:  198573456 (x86 Windows, 64 bit machine)
+           # 2014-12-10:  227205560 constraint solver got worse again; more agressive solving
+           #                        of family-applications leads to less sharing, I think
+
            (wordsize(64), 449042120, 10)]),
              # Previously 530000000 (+/- 10%)
              # 17/1/13:   602993184  (x86_64/Linux)
@@ -397,11 +400,12 @@ test('T783',
 test('T5321Fun',
      [ only_ways(['normal']),  # no optimisation for this one
        compiler_stats_num_field('bytes allocated',
-           [(wordsize(32), 299656164, 10),
+           [(wordsize(32), 206406188, 10),
              # prev:       300000000
              # 2012-10-08: 344416344 x86/Linux
              #  (increase due to new codegen)
              # 2014-09-03: 299656164     (specialisation and inlining)
+             # 10/12/2014: 206406188     #  Improvements in constraint solver
             (wordsize(64), 408110888, 10)])
              # prev:       585521080
              # 29/08/2012: 713385808     #  (increase due to new codegen)
@@ -443,10 +447,11 @@ test('T5321FD',
 test('T5642',
      [ only_ways(['normal']),
        compiler_stats_num_field('bytes allocated',
-           [(wordsize(32), 753045568, 10),
+           [(wordsize(32), 641085256, 10),
                      # sample from x86/Linux
             # prev:        650000000
             # 2014-09-03:  753045568 
+            # 2014-12-10:  641085256 Improvements in constraints solver
 
             (wordsize(64), 1282916024, 10)])
             # prev:        1300000000
@@ -465,11 +470,12 @@ test('T5642',
 test('T5837',
      [ only_ways(['normal']),
       compiler_stats_num_field('bytes allocated',
-          [(wordsize(32), 135914136, 10),
+          [(wordsize(32), 115905208, 10),
              # 40000000 (x86/Linux)
-             # 2013-11-13: 45520936  (x86/Windows, 64bit machine)
-             # 2014-09-03: 37096484  (Windows laptop, w/w for INLINABLE things
+             # 2013-11-13:  45520936 (x86/Windows, 64bit machine)
+             # 2014-09-03:  37096484 (Windows laptop, w/w for INLINABLE things
              # 2014-12-01: 135914136 (Windows laptop, regression see below)
+             # 2014-12-08  115905208  Constraint solver perf improvements (esp kick-out)
  
            (wordsize(64), 234790312, 10)])
              # sample: 3926235424 (amd64/Linux, 15/2/2012)
@@ -541,6 +547,7 @@ test('T9675',
        compiler_stats_num_field('bytes allocated',
           [(wordsize(64), 544489040, 10)
           # 2014-10-13    544489040
+          ,(wordsize(32), 250000000, 10)
           ]),
       ],
      compile,
diff --git a/testsuite/tests/perf/haddock/all.T b/testsuite/tests/perf/haddock/all.T
index 58900ff..027686e 100644
--- a/testsuite/tests/perf/haddock/all.T
+++ b/testsuite/tests/perf/haddock/all.T
@@ -88,11 +88,12 @@ test('haddock.compiler',
             # 2012-11-27: 28708374824 (amd64/Linux)
             # 2014-09-10: 30353349160 (amd64/Linux) post-AMP cleanup
             # 2014-11-22: 33562468736 (amd64/Linux)
-          ,(platform('i386-unknown-mingw32'), 104140852, 10)
+          ,(platform('i386-unknown-mingw32'), 217933548, 10)
             # 2012-10-30:                     13773051312 (x86/Windows)
             # 2013-02-10:                     14925262356 (x86/Windows)
             # 2013-11-13:                     14328363592 (x86/Windows, 64bit machine)
             # 2014-12-01:                       104140852 (x86/Windows, sudden shrinkage!)
+            # 2014-12-10:                       217933548 increased again
           ,(wordsize(32), 15110426000, 1)])
             # 2012-08-14: 13471797488 (x86/OSX)
             # 2014-01-22: 14581475024 (x86/Linux - new haddock)



More information about the ghc-commits mailing list