Performance regression in the type checker regression for GADTs and type families
The GHC 7.0.2 RC1 shows poor performance when compiling Data.Array.Accelerate
. In particular, to type check a particular module, GHC 7.02 takes several minutes, while GHC's resident memory grows to 350MB. In contrast, GHC 6.12.3 compiles the same module in a few seconds.
How to reproduce the problem:
- Download the latest version of
Data.Array.Accelerate
with darcs from http://code.haskell.org/accelerate/ - Change directory to the new
accelerate
darcs repo. - Invoke GHCi as
ghci -Iinclude
. - Issue the GHCi command:
:l Data/Array/Accelerate/Smart.hs
You will notice that Data.Arra.Accelerate.Array.Sugar
, which is heavy in type classes and type families, already requires a noticeable time to compile — this is already a performance regression from 6.12.3. The module Data.Array.Accelerate.Smart
requires an even much longer time to compile.
Trac metadata
Trac field | Value |
---|---|
Version | 7.0.1 |
Type | Bug |
TypeOfFailure | ValidProgramRejected |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |