[GHC] #11196: TypeInType performance regressions
GHC
ghc-devs at haskell.org
Sun Jun 5 11:50:18 UTC 2016
#11196: TypeInType performance regressions
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: high | Milestone: 8.0.2
Component: Compiler | Version: 7.11
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by thomie):
* failure: None/Unknown => Compile-time performance bug
@@ -12,1 +12,1 @@
- * T9872d, '''down''' by 91.8% (see below)
+ * T9872d, '''down''' by 22% (see below)
New description:
This ticket is to track the handful of performance regressions seen with
the addition of `TypeInType`. It is quite possibly a good idea to break
these out into separate tickets, but until we investigate, they're all
bundled here.
The regressions are (all in bytes allocated, unless otherwise noted):
* T3064, up by 14.9%
* T5030, up by 61.8%
* T5837, up by 13%
* T5321Fun, up by 11%
* T5631, up by 39%
* T9872d, '''down''' by 22% (see below)
* T9872a, up by 33.6%
* T9872c, up by 59.4%
* T9872b, up by 49.4%
* T9675, up by 29.7%, and peak megabytes allocated up by 28.4%
* haddock.base, up by 12.4%
* haddock.Cabal, up by 9.5%
I did add an optimization around type family reduction (the function
`zonk_eq_types` in !TcCanonical) that could cause such a drastic
reduction.
--
Comment:
For the record: T9872d went down by 22% (the description first claimed
92%, which probably resulted from a typo), from 726679784 to 566134504
bytes allocated. Since then it has dropped another 8% to 506691240
(64-bit).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11196#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list