DConf 2013 Day 1 Talk 6: Concurrent Garbage Collection for D by Leandro Lucarella

Diggory diggsey at googlemail.com
Mon May 20 21:52:24 PDT 2013


On Tuesday, 21 May 2013 at 04:26:18 UTC, Vladimir Panteleev wrote:
> On Monday, 20 May 2013 at 13:55:05 UTC, Regan Heath wrote:
>> On Mon, 20 May 2013 13:50:25 +0100, Andrei Alexandrescu 
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>
>>> On reddit:
>>> http://www.reddit.com/r/programming/comments/1eovfu/dconf_2013_day_1_talk_6_concurrent_garbage/
>>
>> This may be the Windows Copy On Write feature mentioned in the 
>> Q&A at the end:
>> http://support.microsoft.com/kb/103858
>
> Yes, basically. I can't find where I've read that mapping COW 
> memory from within the same process is only supported on NT 
> versions. However, doing it from within the same process is not 
> practical anyway, since that would imply at least halving the 
> address space.

Either way, at least on windows the separate process would have 
to be persistent as creating a new process has a lot more 
overhead attached to it than on posix systems. Implicitly 
creating a child process is also something a D programmer might 
not want, again this is more windows specific where processes do 
not have the same strict hierarchy as on posix.

On 64-bit systems there shouldn't be a problem with address 
space, and even on 32-bit systems, the objects which take up the 
vast majority of the address space are usually arrays of 
primitive types which don't need to be scanned by the GC.

Certainly for 64-bit systems I think it's worth at least doing 
some performance comparisons, and I think using a thread will 
turn out to be more efficient. If it turns out that there are 
merits to both options then having a GC option to use a process 
or a thread might make sense.


More information about the Digitalmars-d-announce mailing list