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 <seewebsiteforem...@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.

Reply via email to