So I am working on zap and actually experience that the performance has been halved after a month of updates. Even if I jump back to the first commits, I reach a performance as low as currently. _(The benchmark setup is still the same)_
My Rust version:
rustc 1.24.1 (d3ae9a9e0 2018-02-27)
Any idea why this could happen?
@oltdaniel What version of Rust gave you better performance?
@cramertj I can't remember exactly. But last November/December it worked fine.
Any chance the performance drop is caused by zap's dependencies (tokio, futures, ...)?
You may rustup default 1.22.1 to download the Rust version released last November, and benchmark zap again to verify.
There's also the usual suspects: how many CGUs are you compiling with? Are you using LTO (or thin LTO)?
@kennytm Already jumped back to an old version with the old dependencies. No change in performance (expect the usual lower performance caused by my future tweaks). Using the rust version 1.22.1 gives me the same performance.
@cramertj And I didn't changed any compiling settings at all.
I really think now this is an issue with my local settings, even if I didn't change things. It worked the last time well _(January)_, but only with a small performance loss, of about 300k requests per second.
One thing I should add, the iron Framework Benchmark didn't lost that much Performance.
Have you tried compiling with CARGO_INCREMENTAL=0 and/or RUSTFLAGS=-Ccodegen-units=1? The default compiler settings have changed towards the end of last year.
@michaelwoerister Just a small performance upgrade from about 10k requests. But there is still a loss of 500k requests left. I will try a benchmark on different devices in the next days to observe the performance difference between the versions.
I will specially look at the 2.9x times performance upgrade between iron and zap.
Looks more like a configuartion mistacke in the benchmarks. Sorry for spam.
Most helpful comment
There's also the usual suspects: how many CGUs are you compiling with? Are you using LTO (or thin LTO)?