[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