Discusssion on the Discussion of the Design for a new GC

Orvid King via Digitalmars-d digitalmars-d at puremagic.com
Thu Apr 24 06:14:54 PDT 2014


On Wednesday, 23 April 2014 at 18:35:26 UTC, Messenger wrote:
> On Wednesday, 23 April 2014 at 15:33:36 UTC, Orvid King wrote:
>> After all of that, I intend to include a base draft of the 
>> design of the GC, along with opening the PRs and committing 
>> the starting API. So, is there something I’m missing? Am I 
>> overlooking the obvious? Is there a more practical way to 
>> produce the same results?
>
> What is the state of Rainer Schütze's precise gc? Duplication 
> of effort and all that.

While I do admire the work that has gone into it, there are 
multiple limitations in his implementation that I believe will 
prevent his implementation to being the best for D. The single 
biggest thing is that it was created before a preliminary 
std.allocators was published, and doesn't take them into account 
in it's design. I believe it is possible to make these a huge 
strength of the GC, because it is possible to use them, with 
minor extensions to the design, to even implement a generational 
compacting allocator, along with the allocation speed that it 
comes with. I believe it's design also forgoes the possibility of 
async collection, which would fail to address the existence of 
realtime and server applications. I do however intend to have a 
heap-precise allocator as the default. The extensibility of my 
design would even allow for DMD style allocation, where it simply 
never deallocates anything. I'll post a full design soon, but I 
have to type it all out first, and make sure that it doesn't just 
end up as some incoherent babbling, and also so that it will make 
sense to everyone else who's reading it.


More information about the Digitalmars-d mailing list