d future or plans for d3

Robert Jacques sandford at jhu.edu
Tue Dec 20 16:54:06 PST 2011


On Tue, 20 Dec 2011 12:11:27 -0800, Timon Gehr <timon.gehr at gmx.ch> wrote:

> On 12/20/2011 08:33 PM, Robert Jacques wrote:
>> On Mon, 19 Dec 2011 10:54:22 -0800, Timon Gehr <timon.gehr at gmx.ch> wrote:
>>
>>> On 12/19/2011 07:50 PM, Vladimir Panteleev wrote:
>>>> On Monday, 19 December 2011 at 08:28:52 UTC, Adam Wilson wrote:
>>>>> According to this wikipedia page
>>>>> http://en.wikipedia.org/wiki/Boehm_garbage_collector it is also the GC
>>>>> that is used by D, with some minor modifications of course.
>>>>
>>>> I'm not sure if that's true... I believe that they both use the same
>>>> basic idea, but AFAIK the D garbage collector is a D port of a C rewrite
>>>> which was originally written for something else. The D GC has been
>>>> optimized a lot since its first versions.
>>>
>>> It would probably be interesting to test the mostly concurrent
>>> generational Boehm GC with D. I'd expect it to perform a lot better than
>>> the simple mark and sweep GC we have in druntime.
>>>
>>
>> The Boehm GC isn't concurrent nor generational.
>
> http://www.hpl.hp.com/personal/Hans_Boehm/gc/
>
> 'The collector uses a mark-sweep algorithm. It provides incremental and
> generational collection under operating systems which provide the right
> kind of virtual memory support. [...]'
>
> http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html
>
> 'Generational Collection and Dirty Bits
> We basically use the concurrent and generational GC algorithm described
> in "Mostly Parallel Garbage Collection", by Boehm, Demers, and Shenker.'

Yes and no. Notice the very big conditional on those statements. The approach used in these papers is the similar to that of CDGC and have similar operating system limitations. Specifically, they don't work on Windows. But thank you for expanding my knowledge of GCs, as I thought that the virtual memory tricks came after Boehm.


More information about the Digitalmars-d mailing list