
#7258: Compiling DynFlags is jolly slow -------------------------------------+------------------------------------- Reporter: simonpj | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.1 Resolution: | Keywords: deriving-perf 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 tdammers): Some better data extraction code for profiles generated earlier yields the above graphs. All of these were generated using the optimization as implemented in D4145 (using a UniqSet instead of a list). Observations: - The number of terms in generated Core scales in a perfectly linear fashion for all examples. - The size of the generated Core in lines-of-code, however, scales non- linearly, which tells us that the size of individual terms grows with input size. This behavior seems to be identical between all 4 examples though, so it does not explain the extreme performance differences. - Somewhere between Core and STG, the `show` and `read` examples misbehave more badly than the other two - Between STG and C--, things get utterly dramatic, `show` and `read` explode, while `getline-appl` and `nothing` are reduced back to near- linear behavior. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/7258#comment:76 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler