Visual Studio Community and .NET Open Source

via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Nov 21 01:31:15 PST 2014


On Friday, 21 November 2014 at 08:02:07 UTC, philippecp wrote:
> The problem is I'm not sure how much of those principles can be
> applied to D. I can see moving objects being problematic given
> that D supports unions.

Unions make up only a small percentage of all objects; a mostly 
precise GC can be enough. It cannot be fully precise anyway, 
because of C code (addRoot), and the stack, which is hard to make 
precise.

> On a related note, I've wondered for a long time why D's GC 
> isn't
> generational and why there's all this discussion on making it
> concurrent and none on making it generational. It seems to me
> that making it generational is simpler than making it concurrent
> and provides a net win in overall performance while concurrent
> only provides a win for real time systems that can't afford long
> GC cycles.

There is some work. For example, Rainer Schuetze presented a 
precise GC at Dconf, which is a requirement for that. See also 
this post by deadalnix, who proposes separating the global 
heap(s) from the thread-local ones:
http://forum.dlang.org/thread/kpgilxyyrrluxpepepcg@forum.dlang.org


More information about the Digitalmars-d-announce mailing list