-
Notifications
You must be signed in to change notification settings - Fork 132
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 in 0.6.1 #182
Comments
That's unfortunate, it's not possible to just revert that change either. More examination is needed. Would be great if it was just a matter of |
Maybe we'll just revert new, add a new_const constructor (both stable) and publish 0.7.0. |
The compiler is emitting code for initializing the array of MaybeUninit (even though it doesn't need to): Reported here: rust-lang/rust#83657 |
Thanks |
Because the 0.6 version was so new, it is a rather small cost to release 0.7 immediately to fix this, not so much installed base to bother with the upgrade. So thanks for flagging this so quickly, too. |
@niklasf If you have this info, how was the performance of arrayvec 0.6.0 or 0.7.0 compared with the previous version 0.5.2, any changes? |
Thanks for handling this so quickly. 0.5.2 to 0.7.0 is a slight improvement (possibly within noise limits). For example, the benchmark that flagged this issue:
|
Your retain improvement is also in 0.7. Release note will be updated with that. |
8346: Use arrayvec 0.7 to avoid perf regression in 0.6.1 r=lnicola a=kjeremy See: bluss/arrayvec#182 Co-authored-by: kjeremy <[email protected]>
https://github.com/niklasf/shakmaty/blob/master/benches/benches.rs are showing a major performance regression going from arravec 0.6.0 to 0.6.1. For example:
I bisected it to 5ad4687 as the first bad commit.
The benchmarks are mostly using
ArrayVec::{new,push,retain}()
. So far I did not manage to reduce it further.The text was updated successfully, but these errors were encountered: