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


Reply via email to