Significant GC performance penalty

bearophile bearophileHUGS at lycos.com
Fri Dec 14 10:58:33 PST 2012


Rob T:

> I wonder what can be done to allow a programmer to go fully 
> manual, while not loosing any of the nice features of D?

Even the Rust language, that has a more powerful type system than 
D, with region analysis and more, sometimes needs localized 
reference counting (or a localized per-thread GC) to allow the 
usage of its full features. So I don't think you can have all the 
nice features of D without its GC.

I believe the D design has bet too much on its (not precise) GC. 
Now the design of Phobos & D needs to show more love for stack 
allocations (see Variable Length arrays, array literals, etc), 
for some alternative allocators like reaps 
(http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.6505 
), and so on. Someone implemented a stack-like data manager for 
D, but the voting didn't allow it into Phobos.

Bye,
bearophile


More information about the Digitalmars-d mailing list