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