Poor memory allocation performance with a lot of threads on 36 core machine

Chris Wright via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 19 09:02:12 PST 2016


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!


More information about the Digitalmars-d mailing list