Simple web server benchmark - vibe.d is slower than node.js and Go?

Atila Neves atila.neves at gmail.com
Tue Sep 26 11:44:53 UTC 2017


On Monday, 25 September 2017 at 09:45:13 UTC, tchaloupka wrote:
> On Monday, 25 September 2017 at 08:36:31 UTC, Vadim Lopatin 
> wrote:
>> On Monday, 25 September 2017 at 08:01:02 UTC, tchaloupka wrote:
>>> On Monday, 25 September 2017 at 07:05:57 UTC, Vadim Lopatin 
>>> wrote:
>>>> [...]
>>>
>>> I've just tried this on my linux box (only dmd as ldc2 fails 
>>> with release build - 
>>> https://github.com/ldc-developers/ldc/issues/2280).
>>>
>>> rust:			Requests/sec:	38757.2625
>>> vibe-d:core libevent:	Requests/sec:	27906.8119
>>> vibe-d:core libasync:	Requests/sec:	20534.3057
>>> vibe-core:		Requests/sec:	18042.4251
>>>
>>> Didn't include the Go version as it's indeed using more 
>>> threads.
>>> Results are just for the base url to not include the regex 
>>> matching there.
>>
>> I've sent PR 
>> https://github.com/nuald/simple-web-benchmark/pull/11 to 
>> re-enable multithreading in D test app.
>>
>> BTW, does Rust version use multithreading?
>
> Rust doesn't seem to use multiple threads, it's just faster I'm 
> afraid.
>
> Tried the ldc release build with the suggested switch removal 
> (https://github.com/ldc-developers/ldc/issues/2280#issuecomment-331823377), and the results are:
>
> ldc2 vibe-d:core libevent:	Requests/sec:	29782.9605
> ldc2 vibe-core:			Requests/sec:	21396.2019

 From my benchmarks comparing D to Rust using an MQTT broker I 
wrote, Rust wasn't faster, mio (a Rust async IO library) was. 
i.e. Rust/mio and D/mio performed similarly, D/vibe.d was slower. 
That was over a year ago, I haven't tried it again since.

Atila


More information about the Digitalmars-d mailing list