Status of getting CDGC into druntime
Darren via Digitalmars-d
digitalmars-d at puremagic.com
Tue Aug 5 02:54:06 PDT 2014
On Monday, 2 June 2014 at 19:04:05 UTC, Sean Kelly wrote:
>
> What I did at the time I created the CDGC branch was diff our GC
> now vs. the code from when Druntime was created (the SVN repo on
> dsource.org). It shouldn't be more than a bunch of busywork for
> someone to figure out which changes are relevant and apply them,
> but it's busywork no one has wanted to do yet.
I think the plan was to incrementally evolve the GC towards the
CDGC. Probably the 'right' thing to do but it requires more
patience (and a deeper understanding of the GC code). Judging by
the commit history the effort does appear to have slowed down.
Perhaps there's activity taking place that's not visible on
github.
I'm personally really interested in the progress of this effort -
in particular removing the global lock on allocations. My primary
experience is with Java, which is far more profligate with object
allocation than D, but single-threaded object allocation was one
of the biggest performance killers for certain types of
application. We had 4-cpu servers (back when that was a lot) with
1 red-hot processor and 3 idle ones due to contention on memory
allocation.
I'd also like to echo Leandro regarding configurable GC. There is
no one-size-fits-all for applications. Interactive applications
favour low-latency over throughput, while a long-running batch
process wants throughput and doesn't care so much about long
pauses. Being able to tune Java's GC at runtime allowed me to
turn a 90 minute batch process into 12 minutes with zero code
changes. A real lifesaver.
More information about the Digitalmars-d
mailing list