[GHC] #8793: Improve GHC.Event.IntTable performance

GHC ghc-devs at haskell.org
Thu Jan 7 09:50:59 UTC 2016


#8793: Improve GHC.Event.IntTable performance
-------------------------------------+-------------------------------------
        Reporter:  cdk               |                Owner:
            Type:  task              |               Status:  patch
        Priority:  normal            |            Milestone:  8.0.1
       Component:  Core Libraries    |              Version:  7.6.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by simonpj):

 * cc: jstolarek (added)


Comment:

 OK I've had a look.

 * I have not looked at, or tried to reproduce, the benchmark.  Probably we
 can just trust you. Let's just commit your improved code to the library.
 Ben?

 * That leaves the question of pure vs IO loop, which I think you are
 saying is the cause of the performance difference.  Have you benchmarked
 that separately?  (Your `IOLoop.hs` program, that is.)

 * It is indeed very odd that the "IO loop" does not generate as good code
 as the "pure loop".  I believe that for the pure loop we are getting a C--
 optimisation that turns a tail call into a jump to a label, so called
 "loopification". But this isn't happening for IO loop.

 I've collected info about loopification here:
 [wiki:Commentary/Compiler/Loopification].  I'm copying Jan Stolarek who
 was the last person to work on this.  It'd be great to return to it.

 It'd be good to pull out this particular loopification issue into a new
 ticket, if you could.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8793#comment:17>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list