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.