<div dir="ltr">my results:<div><br></div><div><span style="font-size:12.8px">OS lang:config req/s comments</span><br style="font-size:12.8px"><span style="font-size:12.8px">======= ========== ======= ==========</span><br style="font-size:12.8px"><span style="font-size:12.8px">Linux go 24K</span><br style="font-size:12.8px"><span style="font-size:12.8px">Linux D:libevent 27K 4 threads</span><br style="font-size:12.8px"><span style="font-size:12.8px">Linux D:libasync 26.5K 4 threads</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 21, 2017 at 2:41 PM, Vadim Lopatin via Digitalmars-d <span dir="ltr"><<a href="mailto:digitalmars-d@puremagic.com" target="_blank">digitalmars-d@puremagic.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Thursday, 21 September 2017 at 10:21:17 UTC, Sönke Ludwig wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
shared static this()<br>
{<br>
(...)<br>
}<br>
</blockquote>
<br>
BTW, I'd recommend using<br>
<br>
void main()<br>
{<br>
(...)<br>
runApplication();<br>
}<br>
<br>
instead and dropping the VibeDefaultMain version in the package recipe. The old approach is planned to be faded out slowly, because it requires some special DUB support that would be nice to see gone at some point.<br>
</blockquote>
<br></div></div>
Thank you!<br>
Trying to use multithreaded mode.<br>
<br>
Under windows, best Vibe.d results are equal to results of Go server.<br>
Under linux, Vibe.d is still slower even if there are 4 threads listening.<br>
<br>
Results:<br>
<br>
OS lang:config req/s comments<br>
======= ========== ======= ==========<br>
Linux go 53K<br>
Linux D:default 48K 1 thread<br>
Linux D:libevent 48K 1 thread<br>
Linux D:libasync 46.5K 4 threads<br>
<br>
Windows go 12K<br>
Windows D:default 12K 4 threads<br>
Windows D:libevent 12K 4 threads<br>
Windows D:libasync 7K 4 threads<br>
<br>
Under Linux in default and libevent configurations, I see error messages from 3 of 4 threads - looks like only one thread can process connections.<br>
<br>
Failed to listen on <a href="http://0.0.0.0:3000" rel="noreferrer" target="_blank">0.0.0.0:3000</a><br>
Task terminated with uncaught exception: Failed to listen for incoming HTTP connections on any of the supplied interfaces.<br>
<br>
<br>
</blockquote></div><br></div>