
Moreover, presumably the commit you did make (in `rebuildCase`)
#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): Phab:D3399, Wiki Page: | Phab:D3400, Phab:D3421 -------------------------------------+------------------------------------- Changes (by rwbarton): * differential: Phab:D3399, Phab:D3400 => Phab:D3399, Phab:D3400, Phab:D3421 Comment: Yes, I'm not sure what happened here but one of the parts of the patch seems to have been lost in a rebase. Thanks for catching this Simon! presumably does help something substantially, or you would not have done it (esp given its equivocal effect on other perf tests). But neither the commit message, nor (more importantly) the comment in the code, says what! `DynFlags` perhaps? Please say, so that someone wondering if they can now take it out knows what they have to test against. Yes, good point. Together with the missing part of the patch, it reduces the space usage while compiling `DynFlags` by at least a factor of 2. Unfortunately I was unable to construct a simpler test case that shows a similarly dramatic improvement, or diagnose exactly what is so special about `DynFlags`... maybe I'll try again to come up with a perf test case, even if the effect is not as dramatic as for `DynFlags`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13426#comment:26 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler