Re: [GHC] #4001: Implement an atomic readMVar

#4001: Implement an atomic readMVar -------------------------------------------+-------------------------------- Reporter: simonmar | Owner: ezyang Type: task | Status: new Priority: low | Milestone: 7.6.2 Component: Runtime System | Version: 6.12.2 Keywords: | Os: Unknown/Multiple Architecture: Unknown/Multiple | Failure: None/Unknown Difficulty: Moderate (less than a day) | Testcase: Blockedby: | Blocking: Related: | -------------------------------------------+-------------------------------- Comment(by ezyang): Performance impact with the extra queue: {{{ -------------------------------------------------------------------------------- Program Size Allocs Runtime Elapsed TotalMem -------------------------------------------------------------------------------- callback001 +0.1% +0.0% -1.7% -1.7% +0.0% callback002 +0.1% +0.0% -3.1% -3.1% +0.0% chan +0.1% +2.0% +2.6% +2.6% +3.8% sieve +0.1% +0.0% +0.0% +0.3% -13.0% threads001 +0.1% +0.0% +5.1% +5.2% +0.0% threads003 +0.1% +0.0% +1.0% +0.8% +0.0% threads006 +0.1% +0.0% +0.0% +0.0% +2.6% threads007 +0.1% +1.1% +1.3% +1.2% +0.0% -------------------------------------------------------------------------------- Min +0.1% +0.0% -3.1% -3.1% -13.0% Max +0.1% +2.0% +5.1% +5.2% +3.8% Geometric Mean +0.1% +0.4% +0.6% +0.6% -1.0% }}} Mysteriously enough threads001 doesn't create that many MVars, so it must be the added overhead in putMVar -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/4001#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC