Possibility of non stop-the-world GC in the future?

Rob T alanb at ucora.com
Tue Feb 19 00:19:20 PST 2013


On Monday, 18 February 2013 at 17:49:28 UTC, JoeCoder wrote:
> On 2/18/2013 5:35 AM, Benjamin Thaut wrote:
>> I wen't down this path already and I ended up not using the GC 
>> at all:
>>
>> http://3d.benjamin-thaut.de/?p=20
>
> I very much enjoyed this article.  Hopefully your changes can 
> be applied upstream.
>
> A couple of my own ideas, in hopes that those with more 
> knowledge can comment:
>
> 1.  A @nogc attribute.  This would work similarly to 
> pure/safe/nothrow and would check at compile time that 
> annotated functions or any they call allocate any memory 
> enforced by the GC.  Then phobos would no longer be a 
> "landmine" for those with realtime requirements.
>
> 2.  GC.collect(timeout).  This would run a collection only 
> until timeout is reached.  It could be called with 
> timeout=remaining frame time, and would allow expensive 
> collections to span multiple frames.

Maybe a DIP should be written up to get this idea on the radar. 
Some means to safely disable the GC without fear of using 
features that perform hidden allocations is a real necessity. 
Even with a better GC, there will still be a requirement to 
disable it for some applications.

--rt


More information about the Digitalmars-d mailing list