Linked by Thom Holwerda on Thu 6th Sep 2012 21:32 UTC, submitted by MOS6510
Benchmarks "During the 4th Semester of my studies I wrote a small 3d spaceship deathmatch shooter with the D-Programming language. It was created within 3 Months time and allows multiple players to play deathmatch over local area network. All of the code was written with a garbage collector in mind and made wide usage of the D standard library phobos. After the project was finished I noticed how much time is spend every frame for garbage collection, so I decided to create a version of the game which does not use a GC, to improve performance."
Permalink for comment 534179
To read all comments associated with this story, please click here.
RE[3]: GC is for scripting
by dorin.lazar on Fri 7th Sep 2012 04:25 UTC in reply to "RE[2]: GC is for scripting"
dorin.lazar
Member since:
2006-12-15

Why would you build your own GC instead of improving your allocation mechanisms in manually managed memory? I consider the latter far simpler.

A combination of the two is usually needed to have performance. For example, when you have a lot of similar objects you may want to pre-allocate a memory pool, then the allocation would be fairly simple. De-allocation may not be needed, or if it is, it is done by simply setting a flag in a bitmap.
Garbage collection IS a smart thing to do, as long as you know what happens, and it doesn't pop unexpectedly.

Reply Parent Score: 2