[GHC] #8082: Ordering of assembly blocks affects performance
GHC
ghc-devs at haskell.org
Mon Jul 22 15:54:21 CEST 2013
#8082: Ordering of assembly blocks affects performance
----------------------------------+---------------------------------
Reporter: jstolarek | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (NCG) | Version: 7.6.3
Keywords: | Operating System: Linux
Architecture: x86_64 (amd64) | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
----------------------------------+---------------------------------
During my work on #6135 I noticed that performance of reverse-complem
benchmark in nofib depends highly on the order in which assembly block are
laid out. With my patches I am consistently getting a 18-20% speed-up. In
theory my patches should not impact performance of existing programs, but
for some reason they affect the ordering of generated assembly blocks. On
of the earlier versions of my patch I noticed that kahan benchmark
suffered a 16% performance hit and again the only difference I noticed in
the generated assembly was ordering of blocks. I did a more in-depth
investigation in case of kahan and it turned out that this difference
results from the way Core is generated: the difference between HEAD and my
patches was that a worker function had its three parameters passed in
different order. I did not investigate this for reverse-complem because
Core is considerably larger, but I could spend some time on it if it might
be relevant.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8082>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list