#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