In theory you could use a region allocator for a pure function and copy its result out. This wouldn't be worth it in the general case but imagine worker threads in a task pool. Pure functions executing message in/message(s) out that did not significantly contribute to the stop the world GC workload.

My D experience is only limited (mainly a C++ programmer) but something along these lines is how I have always imagined GC will sidestep the 'stop the world' problem as we move toward async/await programming models.

Reply via email to