[commit: ghc] master: Accept 20% dedgradation in Trac #5030 compile time (1f09b24)

git at git.haskell.org git at git.haskell.org
Fri Oct 21 16:16:38 UTC 2016


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

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/1f09b246d377a0007a953e5a77545d81671d2e36/ghc

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

commit 1f09b246d377a0007a953e5a77545d81671d2e36
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date:   Mon Oct 17 10:39:25 2016 +0100

    Accept 20% dedgradation in Trac #5030 compile time
    
    In commit
    
      31621b12 * A collection of type-inference refactorings.
    
    I fixed a bug in the on-the-fly unifier.  Usually the
    on-the-fly unifier (TcUnify) defers type function
    applications to the constraint solver.  But in one situation
    it inconsistently did not defer, so a unification happened
    without reducing a type function.  By a fluke this makes
    T5030 (specifcially the definition of cnst) much better.
    
    It turns out that consistently non-deferring type functions
    makes the test for #3064 go bad.  So somehow the current,
    inconsistent situation was an accidental sweet spot.
    
    But it's a horrible sweet spot, relying on what was essentially
    a bug.  So I've accepted the worsening (it's an exotic case),
    and opened #12724 to deal with the underlying cause.


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

1f09b246d377a0007a953e5a77545d81671d2e36
 testsuite/tests/perf/compiler/all.T | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T
index c93fe02..b7655a1 100644
--- a/testsuite/tests/perf/compiler/all.T
+++ b/testsuite/tests/perf/compiler/all.T
@@ -380,7 +380,7 @@ test('T5030',
            # 2015-07-11:  201882912 reason unknown
            # 2016-04-06:  345668088 likely TypeInType
 
-           (wordsize(64), 653710960, 10)]),
+           (wordsize(64), 794426536, 10)]),
              # Previously 530000000 (+/- 10%)
              # 17/1/13:   602993184  (x86_64/Linux)
              #            (new demand analyser)
@@ -398,6 +398,9 @@ test('T5030',
              #                          of family-applications leads to less sharing, I think
              # 2015-03-17 403932600  tweak to solver algorithm
              # 2015-12-11 653710960  TypeInType (see #11196)
+             # 2016-10-17 794426536  20% big increase following
+             #                       31621b12 * A collection of type-inference refactorings.
+             #                       See ticket for more info
 
        only_ways(['normal'])
       ],



More information about the ghc-commits mailing list