[GHC] #8345: A more efficient atomicModifyIORef'
GHC
ghc-devs at haskell.org
Mon Oct 6 22:15:17 UTC 2014
#8345: A more efficient atomicModifyIORef'
-------------------------------------+-------------------------------------
Reporter: parcs | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: | Version: 7.6.3
libraries/base | Keywords: IORef
Resolution: | Architecture: Unknown/Multiple
Operating System: | Difficulty: Moderate (less
Unknown/Multiple | than a day)
Type of failure: Runtime | Blocked By:
performance bug | Related Tickets: #5926
Test Case: |
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
Comment (by dfeuer):
Replying to [comment:14 simonmar]:
> @hvr's version is basically just a more concise way to write @parcs'
proposed version. I'm happy with either. Someone want to put up a diff?
I'll be happy to do that. I realized today that if I replace `evaluate`
with its specification, I do indeed get the same Core for parcs's and
hvr's versions, which of course (conditionally) proves that what you say
is true. But using `evaluate` itself gives somewhat different core,
because it uses `seq#` to order things properly instead of `case`. I
haven't inspected the Cmm or asm output, so I don't know if this makes any
difference.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8345#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list