[GHC] #7258: Compiling DynFlags is jolly slow
GHC
ghc-devs at haskell.org
Wed Nov 1 14:33:02 UTC 2017
#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
More information about the ghc-tickets
mailing list