-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance regression on Windows due to removal of jemalloc #36328
Comments
Seems to be within the error bars on OSX. |
I found that it's my dependency that has the performance regression: https://github.com/iopq/monoid running the bench on 2016-01-20 gives test bench_cowstring ... bench: 71 ns/iter (+/- 4) running the same thing on 2016-01-21 gives test bench_cowstring ... bench: 130 ns/iter (+/- 5) the performance hasn't recovered since all these tests are doing is string concatenation
|
The reduced test case does also not reproduce the problem on OS X. Looking at the changes, this regression may have been caused by disabling jemalloc on |
This does look like it's because jemalloc was disabled. On the 2016-09-08 nightly for
Adding
Compared with the 2016-01-20 nightly:
And the 2016-01-21 nightly:
|
Libs team needs to explain the path forward for re-gaining this perf loss. We're unlikely to add jemalloc back by default here. |
Right now the intended path forward to regain this perf is by stabilizing the global allocator API, and publishing the jemalloc crate to crates.io. |
We're unlikely to really do anything to fix this, so I'm going to close this in favor of #27389. It's highly likely that all programs will start to link to jemalloc by default once we stabilize that feature. |
https://bitbucket.org/iopq/fizzbuzz-in-rust
Steps to reproduce:
rustup install nightly-2016-01-20
cargo clean
rustup run nightly-2016-01-20 cargo bench
observe that you get nice performance:
running 2 tests
test bench_cowbuzz ... bench: 891 ns/iter (+/- 72)
test bench_fizzbuzz ... bench: 1,125 ns/iter (+/- 40)
rustup install nightly-2016-01-21
cargo clean
rustup run nightly-2016-01-21 cargo bench
observe that you get a performance regression:
test bench_cowbuzz ... bench: 1,071 ns/iter (+/- 42)
test bench_fizzbuzz ... bench: 1,542 ns/iter (+/- 101)
rustc -vV gives
commit-hash: 7dce32e
commit-date: 2016-01-20
host: i686-pc-windows-gnu
release: 1.7.0-nightly
test bench_cowbuzz ... bench: 996 ns/iter (+/- 31)
test bench_fizzbuzz ... bench: 1,420 ns/iter (+/- 50)
The text was updated successfully, but these errors were encountered: