Disable GC entirely

Adrian Mercieca amercieca at gmail.com
Sun Apr 7 02:02:25 PDT 2013


Thanks for your response
> 
> In my case I have been able to mostly get around the problem by
> strategically disabling the GC during active memory allocations, and
> then re-enabling when all or most of the allocations are completed. In
> effect I'm doing manual memory management all over again because the
> automated version fails to do a good enough job. Using this technique
> I've been able to get near C++ performance speeds.

Incidentally, when you got this speed, what compiler were you using? dmd?
> 
> Part of the problem is that the GC implementation is simply not suitable
> for performance code and lacks fine tuning abilities (that I'm aware
> of). Without a decent brain, it does stupid things, so when you have a
> lot of allocations going on but no deallocations, the GC seems to be
> running needlessly slowing down the application by as much as 3x.

Maybe it's time the GC implementation is addressed - or otherwise, the 
whole concept of GC in D should be dropped. To be honest, I'm perfectly 
happy with RAII in C++ and since D supports that fully (even better IMHO), 
I don't really see that much point for GC in a language that is vying to 
become a top systems language.

D without a GC and as fast as C++ ............... that would be it - the 
ultimate IMHO.



More information about the Digitalmars-d mailing list