Ticket #4856 (closed bug: fixed)
Performance regression in the type checker regression for GADTs and type families
| Reported by: | chak | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 7.2.1 |
| Component: | Compiler (Type checker) | Version: | 7.0.1 |
| Keywords: | Cc: | dimitris@…, verdelyi@… | |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | Compile-time performance bug | Difficulty: | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
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.
Change History
Note: See
TracTickets for help on using
tickets.
