GC.disable doesn't guarantee the garbage collector won't run: https://dlang.org/phobos/core_memory.html#.GC.disable I'm not sure how much impact that has in practice.

That's why I'd like D to allow also Nim's alternative GC method.

https://nim-lang.org/docs/gc.html

Basically, you have the choice between a standard GC and a real-time GC.

With the real-time version, you ask regularly for a partial time-limited GC.

They say you can normally expect it to take less than 2 ms.

And you can also decide not to call it if you know that it's not needed at the moment (no resource loading, etc), or if it's the wrong time to call it.

What worries C++ game developers like me is not a regular 2 ms GC at each frame, it's actually an occasional 200 ms GC once in a while...

Hence the need to allocate manually and disable the GC at the moment.

Reply via email to