[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