[Performance] shootout.binarytrees when implemented with gc is10x slower than C# on .NET 2.0

Kyle Furlong kylefurlong at gmail.com
Sun Nov 12 03:34:21 PST 2006


Andrey Khropov wrote:
> Kyle Furlong wrote:
> 
>> Andrey, its no secret that the D GC is not implemented to be the fastest
>> around. C# I believe uses at the least a generational collector, which I
>> think is also copying.
>>
>> D currently uses a conservative mark and sweep collector. Rock solid, but
>> slow.
> 
> My point here is that if we want to successfully compete with .NET we should
> adapt a better (copying,generational) collector.
> 
> Of course it poses some problems (pointers to GC data for example), but if we
> have to go back to new/delete/malloc/free to get fast code (and it's actually
> very likely that C#'s GC with the fast allocation will be faster anyway (as in
> this case) unless we employ some special trickery like allocation lists) it
> spoils the whole idea of GC as a primary memory management mechanism for D.
> 

One step ahead of you... ;)



More information about the Digitalmars-d mailing list