
#13426: compile-time memory-usage regression for DynFlags between GHC 8.0 and GHC 8.2 -------------------------------------+------------------------------------- Reporter: hvr | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 8.1 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 simonpj): Great work. There is definitely a space leak here and it should not be to hard to find. Some ideas * In `CoreLint.lintSingleBinding` you'll find a series of tests. If you comment then out one by one, you'll find when the space leak comes back. That test must be forcing the offending bit of `IdInfo`. * Does the leak happen when you use `-dshow-passes`? That shows the size of eac intermediate, and `exprSize` is deliberately strict (see `CoreStats.bndrSize`). You could try making `CoreSeq.megaSeqidInfo` actually force the unfolding info (currently commented out) and see if that helps. (I'm not sure WHY it is commented out, incidentally.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13426#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler