On Wednesday, 29 July 2015 at 09:25:50 UTC, Snape wrote:
I'm in the early stages of building a little game with OpenGL (in D) and I just want to know the facts about the GC before I decide to either use it or work around it. Lots of people have said lots of things about it, but some of that information is old, so as of today, what effect does the GC have on the smooth operation of a real-time application? Is it pretty noticeable with any use of the GC or only if you're deallocating large chunks at a time?

I'd like to add that you can tell the runtime (and therefore the GC) to ignore a thread:

http://dlang.org/phobos/core_thread.html#.thread_detachThis

This allows you to implement real-time tasks in that thread, and it will never be interrupted by the GC. You can still use the GC in other threads. Of course, you need to make sure not to call into the GC from the detached thread (easy by using @nogc), and to keep at least one reference to GC data used in the detached thread in a normal thread.

Reply via email to