Why is vibe.d still performing bad in benchmarks?

Sönke Ludwig sludwig+d at outerproduct.org
Thu Jul 11 11:23:42 UTC 2019


Am 10.07.2019 um 21:16 schrieb bauss:
> As seen in: https://www.techempower.com/benchmarks/#section=data-r18
> 
> vibe.d once again ranks terrible on the list.
> 
> With the power of D etc. it should be able to perform at the same level 
> as the top frameworks but it just isn't so what are the reasons, where 
> can it be improved and what areas do we as community need to look into 
> and improve upon?

The problem is that for some reason it doesn't scale properly with the 
number of cores in that benchmark. I have a dual-Xeon server that I can 
in theory use for profiling this, but I simply still lack the time to do so.

If you or anyone else who is interested has a bit of time to spare, I 
would suggest to change the benchmark setup to start one process per 
core instead of using multiple threads. This is the preferred approach 
anyway, for multiple reasons, but one of them being that it ensures 
proper scaling, no matter if the GC kicks in, or some other kind of lock 
contention happens.

This would require a change to the startup script to run multiple 
instances, as well as removing the runTaskDist call, while keeping 
HTTPServerOption.reusePort.


More information about the Digitalmars-d mailing list