Hi I'd like to get more familiar with vibe.d's method of multitaking routes.

Coming from a PHP and Node background I understand how, in Nodejs, a blocking operation (like a large loop) can hold up the event loop making other requests take longer to process.

With PHP/FCGI/Apache there seems to be a number of workers waiting for requests.

Been told Vibe.d uses fibers.

Just wondering, where's the bottlekneck in Vibe.d regarding blocking operations? I found the vibe.d sleep function, which works fine but I'm not sure if this is causing all routes to sleep. Does using sleep cause the fiber to wait?

I've also noticed that doing very large db queries tends to make the entire vibe API slow (there's tones of free CPU and memory)

I delegate most long running processes to a worker outside of vibe.d that runs on a queue. However, I'm unsure how vibe handles requests that take around 1.5secs to complete. Sometimes, my app makes 5 requests at nearly the same time from ajax and there seems to be a bit of a lag.