Non-parallel version of GC
Simon Marlow
marlowsd at gmail.com
Tue Aug 13 12:35:54 CEST 2013
On 10/08/13 00:58, Edward Z. Yang wrote:
> How would people feel about an alternate GC implementation in GHC which
> is not parallel? A GC like this would be simpler to understand, maybe a
> little faster when parallel collection is not being used, and (most
> importantly for my case) easier to extend with interesting features.
>
> In particular, this implementation would not have gen_workspace or
> gc_thread; these would either be unnecessary or folded directly into the
> actual generation object.
From my point of view I'd like such a thing to be as separate as
possible from the rest of the GC code. However it might be hard to do
that - you mentioned modifying the generation structure, for example.
As with most things in the RTS, the GC is "exactly as modular as it
needs to be right now", which in practice means "not quite modular
enough for what I want to do next" :-) So your first step might be to
abstract some things so that the two GCs can coexist peacefully.
But perhaps there's another way to achieve your goals - what are the
interesting features you want to add?
Cheers,
Simon
More information about the ghc-devs
mailing list