
#10818: GHC 7.10.2 takes much longer to compile some packages -------------------------------------+------------------------------------- Reporter: kazu-yamamoto | Owner: (none) Type: bug | Status: new Priority: high | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): No, the program doesn't say `-fspecialise-aggressively`. `-dshow-passes` indicates that everything stays the same up until specialization, with `terms: 2,528, types: 2,420, coercions: 214`. In specialization, it previously rose to `terms: 2,601, types: 2,487, coercions: 214`, but after the change instead jumps to `terms: 3,468, types: 3,731, coercions: 214`. Looking at `-ddump-rules`, the difference is pretty dramatic. Before, we had just {{{ "SPEC Control.Monad.when @ (Text.Appar.Parser.MkParser GHC.Base.String)" [ALWAYS] forall ($dMonad :: Monad (MkParser String)). when @ (MkParser String) $dMonad = $swhen }}} After the change, we have many, many rules (I'll attach them). While the specializations all look fairly reasonable to me, I'm not sure we really want quite that many by default. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10818#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler