On Tue, 20 Dec 2011 12:11:27 -0800, Timon Gehr <timon.g...@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.g...@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.

Reply via email to