On 28/10/2010 09:25 AM, Erik Hesselink wrote:
On Wed, Oct 27, 2010 at 23:09, Andrew Coppin
<[email protected]> wrote:
GHC has a _parallel_ GC implementation, meaning that the GC event runs in
parallel on several cores. But it does not (yet) have _concurrent_ GC,
meaning that a GC event can happen at the same time as Haskell threads are
running. (Basically, which Haskell code running, the references between
objects could change while the GC engine is trying to analyse them, which
would be Bad.) I understand that the developers are actively working on
fixing this, since it can sometimes have a significant effect on the
performance of multicore programs...
I thought that young generations could be GC'ed while other threads
were running, while collecting the old generation required
synchronizing all threads. This seems to be what is shown on
http://hackage.haskell.org/trac/ghc/blog/new-gc-preview as well.
"I expect it to land in GHC HEAD in a few months time, and it should be
in the autumn 2011 major release of GHC."
In other words, this isn't how GHC works now, it's how some future
version will work.
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe