On Wed, 10 May 2017 00:12:18 GMT, Carl Sturtivant wrote:

Has vibe.d been tried out with a different GC that doesn't stop the world? Or at least stops it for much less time. I noticed this:
http://dconf.org/2013/talks/lucarella.html

Just mentioning it for completeness sake - one thing that helps reducing the impact of the stop-the-world approach is to use the multiple process approach, where each identical process listens on the same port using the reusePort option. That way, at least n-1 out of n processes will continue to run and continue to accept incoming connections while a single one is in a collection phase.

But in general, the only thing that really helps (because for a concurrent GC, memory will soon become an issue) is to avoid GC allocations or dynamic allocations in general as much as possible. The vibe.web package is not quite there yet, but the goal is to eliminate all dynamic allocations there eventually. This would then leave just the application logic itself for a typical web application.