I was wondering if thread-local GC had been considered an option for making D's GC work better in threaded code? Erlang has this (well, process-local GC, which is closer to fibre-local in D terms) and it seems to work okay, although I don't think Erlang allows shared memory between processes.

If this were possible, it would be particularly useful if it could be combined with nogc to allow the spawning of nogc threads. These could be used for latency-sensitive work, with the guarantee that work done in a nogc thread would never be paused by garbage collection done in other threads.

Reply via email to