www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - HTTP Server benchmark

reply Arun <aruncxy gmail.com> writes:
I created this a while ago and stumbled on this today again. 
FWIW, we can show this to someone claiming D as slow.

https://github.com/carun/http-server-benchmark

vibe-d clearly uses lot more memory than rust-actix. I am not a 
rust programmer by any means, so I just ran the test code in the 
actix repo.

Also we use poco (cpp) in production heavily and the performance 
numbers don't really match the actual numbers observed in this 
benchmark.

So far memory and related issues are the major ones I have 
observed in various instances of our apps across the board using 
D. I have seen crashes with vibe-d under 100% CPU usage. I have 
given up using it since then and moved to poco permanently, 
albeit it feels like coding in 2000s with if-else for route 
configuration.
Jul 21 2020
next sibling parent reply ikod <geller.garry gmail.com> writes:
On Tuesday, 21 July 2020 at 08:28:45 UTC, Arun wrote:
 I created this a while ago and stumbled on this today again. 
 FWIW, we can show this to someone claiming D as slow.

 https://github.com/carun/http-server-benchmark

 vibe-d clearly uses lot more memory than rust-actix. I am not a 
 rust programmer by any means, so I just ran the test code in 
 the actix repo.

 Also we use poco (cpp) in production heavily and the 
 performance numbers don't really match the actual numbers 
 observed in this benchmark.
How do they corrlate?
 So far memory and related issues are the major ones I have 
 observed in various instances of our apps across the board 
 using D. I have seen crashes with vibe-d under 100% CPU usage. 
 I have given up using it since then and moved to poco 
 permanently, albeit it feels like coding in 2000s with if-else 
 for route configuration.
I'm not sure if VSZ is important here, but RSS - definitely. I'm usually run benchmarks with nginx in order to have some baseline for average and 99-percentile latencies.
Jul 21 2020
parent Arun <aruncxy gmail.com> writes:
On Tuesday, 21 July 2020 at 09:07:36 UTC, ikod wrote:
 How do they corrlate?
Repo README has all the details. In terms of requests/second: rust-actix > vibe-d with manual memory management > vibe-d with GC > poco. 102746.05 > 73519.77 > 50419.60 > Poco Tests with Poco fail. So I don't care about the perf numbers.
 I'm usually run benchmarks with nginx in order to have some 
 baseline for average and 99-percentile latencies.
Good idea. Will try this sometime later.
Jul 21 2020
prev sibling parent aberba <karabutaworld gmail.com> writes:
On Tuesday, 21 July 2020 at 08:28:45 UTC, Arun wrote:

 I have given up using it since then and moved to poco 
 permanently, albeit it feels like coding in 2000s with if-else 
 for route configuration.
Are aware of the Web Interface provided in vibe.d? Or maybe you could explain further what you found lacking.
Jul 21 2020