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