HTTP frameworks benchmark focused on D libraries

Adam D. Ruppe destructionator at gmail.com
Sun Sep 27 20:39:32 UTC 2020


On Sunday, 27 September 2020 at 10:08:24 UTC, tchaloupka wrote:
> * new RAW tests in C to utilize epoll and io_uring (using 
> liburing) event loops - so we have some ground base we can 
> compare against

I fixed some buffering issues in cgi.d and, if you have the right 
concurrency level that happens to align with the number of worker 
processes... I'm getting incredible results. 65k rps.

It *might* just beat the raw there. The kernel does a really good 
job.

Of course, it still will make other connections wait forever... 
but my new event loop in threads mode is now also giving me a 
pretty solid 26k rps on random concurrency levels with the 
buffering fix.

I just need to finish testing this to get some confidence before 
I push live but here it is on a github branch if you're curious 
to look:

https://github.com/adamdruppe/arsd/blob/cgi_preview/cgi.d

Compile with `-version=embedded_httpd_threads 
-version=cgi_use_fiber` to opt into the new event loop. But the 
buffering improvements should register in all usage modes.


More information about the Digitalmars-d-announce mailing list