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

Andrey Khropov andkhropov_nosp at m_mtu-net.ru
Sun Nov 12 02:13:29 PST 2006


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.

-- 
AKhropov



More information about the Digitalmars-d mailing list