[GHC] #10397: Compiler performance regression 7.6 -> 7.8 in elimCommonBlocks
GHC
ghc-devs at haskell.org
Sat May 16 11:23:01 UTC 2015
#10397: Compiler performance regression 7.6 -> 7.8 in elimCommonBlocks
-------------------------------------+-------------------------------------
Reporter: TobyGoodwin | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.4
Resolution: | Keywords:
Operating System: Unknown/Multiple | performance
Type of failure: None/Unknown | Architecture:
Blocked By: | Unknown/Multiple
Related Tickets: | Test Case: see ticket
| Blocking:
| Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by nomeata):
According to a profiled run, `elimCommonBlocks` now caters for 24.4% of
the runtime, second to `sequenceBlocks` in `AsmCodeGen` with 59.5% (which
I did not look at).
`elimCommonBlocks` still spends most of the time comparing blocks, most of
the time uselessly: It iterates, and in each iteration compares all blocks
with the same hash key (hash + list of successor labels) again. This is
pointless: If the list of successor labels has not changed, then the
blocks cannot suddenly be equal.
I have an idea how to avoid that. Let’s see if it pays off...
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10397#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list