Commit 1f09b246 authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

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.
parent 3f5673f3
......@@ -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'])
],
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment