-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Perf regression in Vec<u8> Write impl? #24095
Comments
I think this is the same cause as #24014, at least the performance of Nominating for 1.0 as this is quite a critical iterator to have perform well. triage: I-nominated |
3 tasks
@alexcrichton I will try to fix this today. |
aturon
added a commit
to aturon/rust
that referenced
this issue
Apr 6, 2015
A recent change to the implementation of range iterators meant that, even when stepping by 1, the iterators *always* involved checked arithmetic. This commit reverts to the earlier behavior (while retaining the refactoring into traits). Fixes rust-lang#24095 cc rust-lang#24014
aturon
added a commit
to aturon/rust
that referenced
this issue
Apr 7, 2015
A recent change to the implementation of range iterators meant that, even when stepping by 1, the iterators *always* involved checked arithmetic. This commit reverts to the earlier behavior (while retaining the refactoring into traits). Fixes rust-lang#24095 cc rust-lang#24014
bors
added a commit
that referenced
this issue
Apr 8, 2015
A recent change to the implementation of range iterators meant that, even when stepping by 1, the iterators *always* involved checked arithmetic. This commit reverts to the earlier behavior (while retaining the refactoring into traits). Fixes #24095 Closes #24119 cc #24014 r? @alexcrichton
Can confirm with the new nightly that the #[bench] is reporting 50GB/s. <3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi folks. A bunch of my serialization code recently got a lot slower, and I think I've tracked it down to writing binary data into a
Vec<u8>
. This used to be quite fast, well above the 8-10GB/s range. It is now about 1GB/s for me. The followingmain.rs
demos the performance I'm seeing.The perf numbers look like (where
main
writes 4GB in 4KB chunks):Sorry if this is old news, or a misdiagnosis. Something is a bit slower now, though. The comments in the source (
Vec<T>::push_all
) do suggest it isn't stable yet because the impl might get faster; I didn't expect it to get 10x slower on me though :).The text was updated successfully, but these errors were encountered: