On Fri, 19 Feb 2016 07:01:56 +0000, Russel Winder via Digitalmars-d wrote: > On Thu, 2016-02-18 at 17:27 +0000, Chris Wright via Digitalmars-d wrote: >> […] >> >> I would like to look into D's GC and parallelism more. I've started on >> mark/sweep parallelism but haven't made any worthwhile progress. I'll >> take this as my next task. It's more awkward because it requires >> changes to the runtime interface, which means modifying both DMD and >> the runtime. > > The OpenJDK folk have more or less given up on traditional mark/sweep > and even concurrent mark/sweep for JVM-based codes (most because there > is still a need for a global stop the world collection at some points): > the G1 algorithms that is now the default has a very different approach > and appears to be a very significant improvement. See for example: > > http://www.infoq.com/articles/G1-One-Garbage-Collector-To-Rule-Them-All > > and all the Oracle and OpenJDK blurb.
Looks like they're using write barriers. I like write barriers, but I'm not sure they'd be so popular with the D crowd. But they might be using them only during a collection, which would be interesting. That article doesn't have anywhere near enough information for me to implement a GC in a similar style, but it's enough for me to start searching for more writeups. Thanks!