[GHC] #8345: A more efficient atomicModifyIORef'

GHC ghc-devs at haskell.org
Mon Oct 27 09:27:06 UTC 2014


#8345: A more efficient atomicModifyIORef'
-------------------------------------+-------------------------------------
              Reporter:  parcs       |            Owner:
                  Type:  bug         |           Status:  patch
              Priority:  normal      |        Milestone:  7.10.1
             Component:  Core        |          Version:  7.6.3
  Libraries                          |         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 Herbert Valerio Riedel <hvr@…>):

 In [changeset:"9e2cb00e5af9d86546f82a74c3d0382e65704d56/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="9e2cb00e5af9d86546f82a74c3d0382e65704d56"
 Optimise atomicModifyIORef' implementation (#8345)

 This forces the new value before installing it in the IORef.

 This optimisation was originally suggested by Patrick Palka
 and "exhibits a speedup of 1.7x (vanilla RTS) / 1.4x (threaded RTS)"
 according to #8345

 Reviewed By: austin, simonmar

 Differential Revision: https://phabricator.haskell.org/D315
 }}}

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


More information about the ghc-tickets mailing list