TypeInType performance regressions
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.