1

I know that Vibe.D implementation is based on Fibers. But I don't know how high load scenarios are handled by Vibe.D. Is it the scheduler in Vibe.D allocating fibers on multiple threads or just one thread for all fibers?

This consideration is very important because even with the high efficiency of Fibers a lot of CPU time is wasted is no more than one thread is used to attend all incoming requests.

1 Answers1

5

Their front page says yes:

http://vibed.org/

this page has the details

http://vibed.org/features#multi-threading

Distributed processing of incoming connections

The HTTP server (as well as any other TCP based server) can be instructed to process incoming connections across the worker threads of the thread pool instead of in the main thread. For applications that don't need to share state across different connections in the process, this can increase the maximum number of requests per second linearly with the number of cores in the system. This feature is enabled using the HTTPServerOption.distribute or TCPListenOptions.distribute settings.

Adam D. Ruppe
  • 25,382
  • 4
  • 41
  • 60