#693: dynamic locking
-------------------------------------------+--------------------------------
    Reporter:  simonmar                    |       Owner:                  
        Type:  task                        |      Status:  patch           
    Priority:  low                         |   Milestone:  _|_             
   Component:  Runtime System              |     Version:  6.4.1           
    Keywords:                              |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple            |     Failure:  None/Unknown    
  Difficulty:  Moderate (less than a day)  |    Testcase:  N/A             
   Blockedby:                              |    Blocking:                  
     Related:                              |  
-------------------------------------------+--------------------------------
Changes (by Yuras):

  * status:  new => patch


Comment:

 The patch is attached.

 I don't see any difference in nofib.
 I see ~40% speedup in the next program:

 {{{
 import Control.Concurrent
 import Control.Monad

 main :: IO ()
 main = do
   var <- newMVar ()
   replicateM_ 100000000 $ do
     takeMVar var
     putMVar var ()

 }}}

 I tried to check n_capabilities in lockClosure, but the speedup was only
 ~30%.
 I don't see any difference for "+RTS -N2" case.

 So, I don't see why it should not be implemented. But I'm ok with wontfix
 in case there are arguments against it.


 {{{
 $ uname -a
 Linux shum-laptop 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012
 x86_64 GNU/Linux
 }}}

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

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to