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

tchaloupka chalucha at gmail.com
Mon Sep 25 09:45:13 UTC 2017


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:
>>> On Monday, 25 September 2017 at 06:56:58 UTC, Vadim Lopatin 
>>> wrote:
>>>> On Sunday, 24 September 2017 at 22:54:11 UTC, Sönke Ludwig 
>>>> wrote:
>>>>> How on earth can that be unfair when the Go, node.js and 
>>>>> Scala versions appear to use multi-threading, too?
>>>>
>>>> Looks like repo owner thinks they are single threaded.
>>>
>>> Just checked threads of Go version. I see 7 'go' and 7 'main' 
>>> threads.
>>
>> 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


More information about the Digitalmars-d mailing list