digitalmars.D - HTTP Server benchmark
- Arun (15/15) Jul 21 2020 I created this a while ago and stumbled on this today again.
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
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
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
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