vibe.d benchmarks
Atila Neves via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jan 5 02:11:36 PST 2016
On Thursday, 31 December 2015 at 08:23:26 UTC, Laeeth Isharc
wrote:
> On Wednesday, 30 December 2015 at 20:32:08 UTC, yawniek wrote:
>>>>> Sönke is already on it.
>>>>>
>>>>> http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/post/29110
>>
>> i guess its not enough, there are still things that make
>> vibe.d slow.
>>
>> i quickly tried
>> https://github.com/nanoant/WebFrameworkBenchmark.git
>> which is really a very simple benchmark but it shows about the
>> general overhead.
>>
>> single core results against go-fasthttp with GOMAXPROCS=1 and
>> vibe distribution disabled on a c4.2xlarge ec2 instance
>> (archlinux):
>>
>> vibe.d 0.7.23 with ldc
>> Requests/sec: 52102.06
>>
>> vibe.d 0.7.26 with dmd
>> Requests/sec: 44438.47
>>
>> vibe.d 0.7.26 with ldc
>> Requests/sec: 53996.62
>>
>> go-fasthttp:
>> Requests/sec: 152573.32
>>
>> go:
>> Requests/sec: 62310.04
>>
>> its sad.
>>
>> i am aware that go-fasthttp is a very simplistic, stripped
>> down webserver and vibe is almost a full blown framework.
>> still it should be D and vibe.d's USP to be faster than the
>> fastest in the world and not limping around at the end of the
>> charts.
>
> Isn't there a decent chance the bottleneck is vibe.d's JSON
> implementation rather than the framework as such ? We know
> from Atila's MQTT project that vibe.D can be significantly
> faster than Go, and we also know that its JSON implementation
> isn't that fast. Replacing with FastJSON might be interesting.
> Sadly I don't have time to do that myself.
vibe.d _was_ faster than Go. I redid the measurements recently
once I wrote an MQTT broker in Rust, and it was losing to
boost::asio, Rust's mio, Go, and Java. I told Soenke about it.
I know it's vibe.d and not my code because after I got the
disappointing results I wrote bindings from both boost::asio and
mio to my D code and the winner of the benchmarks shifted to the
D/mio combo (previously it was Rust - I figured the library was
the cause and not the language and I was right).
I'd've put up new benchmarks already, I'm only waiting so I can
show vibe.d in a good light.
Atila
More information about the Digitalmars-d
mailing list