#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
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs