Re: [GHC] #7428: GHC compile times are seriously non-linear in program size

#7428: GHC compile times are seriously non-linear in program size -------------------------------------+------------------------------------- Reporter: nudded | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler | Version: 7.4.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by bgamari): I may be missing something obvious here but I'm not convinced that the problem is in `CorePrep` or `TidyCore`. If one looks at the `hi` file or `-ddump-simpl` output from even a relatively shallow four-layer transformer stack one finds quite large types that appear to be growing quadratically in the depth. This is supported by the fact that `Type` and `IfaceType` show up strongly in the heap profiles as well as the fact that, in my runs, `core2core` shows up about as strongly in the profiles as `addFingerprints`. Looking at the types in the Core, it seems that the inliner may be over- zealous in its work. Due to the CPS style of the example, the types snowball extremely quickly. Most of the damage comes in the first two simplifier iterations. Many of the larger of these types are coercions and their signatures. I'm not sure I see what is failing here. The question then is what measure is supposed to prevent this snow-balling and why is it not working? I'll have another look tomorrow. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7428#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC