[GHC] #7450: Regression in optimisation time of functions with many patterns (6.12 to 7.4)?
GHC
cvs-ghc at haskell.org
Mon Nov 26 18:23:22 CET 2012
#7450: Regression in optimisation time of functions with many patterns (6.12 to
7.4)?
-------------------------------------------+--------------------------------
Reporter: iustin | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.6.1
Resolution: | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: Compile-time performance bug | Difficulty: Unknown
Testcase: | Blockedby:
Blocking: | Related:
-------------------------------------------+--------------------------------
Comment(by iustin):
Replying to [comment:2 simonpj]:
> It may be a dup of #7258, but if it's true that the issue is solely
concerned with `deriving(Read)` that would localise it much more than
saying it's to do with `DynFlags.lhs`.
>
> So if I understand it, simply having your data type with lots of
constructors and `deriving(Read)` is enough to trigger this non-linear
behaviour?
Indeed. The following conditions seem to be required:
* many constructors (> ~100)
* constructors should be record constructors, not normal ones
* optimisations must be turned on
For normal constructors, I can't trigger it with even ~1500 constructors
(it's a bit less than linear, but still very acceptable, e.g. 30s for 1600
normal constructors versus 259s for 800 record constructors).
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7450#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list