#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 _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs