On Monday, 8 July 2013 at 14:11:16 UTC, w0rp wrote:
On Monday, 8 July 2013 at 14:04:41 UTC, John Colvin wrote:
I would post this in d.learn, but I suspect there isn't an
easy answer so it would be good to have some serious
discussion here.
Is there any way to create a thread that is totally free from
the garbage collector?
I.e.
Nothing in that thread will ever be scanned by the GC.
Therefore, when the GC "stops the world", that thread can just
keep on going.
Obviously one could create a separate process, but it would be
nice to have it encapsulated within a single process for
optimum speed of communication and not having to mess around
with pipes.
P.S. Yes I realise how careful one would have to be when using
this.
We really need to implement a better GC. That's the very hard
but better solution.
We need to have a <b>choice</b> of GCs. There is no single design
that is right for every use case. Sometimes (admittedly rather
rarely) conservative stop-the-world is actually a good thing!