HTTP frameworks benchmark focused on D libraries
tchaloupka
chalucha at gmail.com
Sun Sep 27 10:08:24 UTC 2020
Hi all, I've just pushed the updated results.
Test suite modifications:
* added runner command to list available tests
* possibility to switch off keepalive connections - causes `hey`
to make a new connection for each request
* added parameter to run each test multiple times and choose the
best result out of the runs
Tests additions:
* 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
* same RAW tests but in Dlang too - both in betterC, epoll is
basically the same, io_uring differs in that it uses my during[1]
library - so we can see if there are some performance problems
(as it should perform basically the same as C variant)
Some insights:
I've found the test results from hey[2] pretty inconsistent (run
locally or over the network). That's the reason I've added the
`bestof` switch to the runner. And the current test results are
the best of 10 runs for each of them.
Some results are a bit surprising, ie that even with 10 runs
there are tests that are faster than C/dlang raw tests - as they
should be at the top because they really don't do anything with
HTTP handling.. And eventcore/fibers to beat raw C epoll loop
with fibers overhead? It just seems odd..
I'll probably add wrk[3] load generator too to see a difference
with a longer running tests.
[1] https://github.com/tchaloupka/during
[2] https://github.com/rakyll/hey
[3] https://github.com/wg/wrk
More information about the Digitalmars-d-announce
mailing list