Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize
Vec::insert
for the case where index == len
.
By skipping the call to `copy` with a zero length. This makes it closer to `push`. I did this recently for `SmallVec` (servo/rust-smallvec#282) and it was a big perf win in one case. Although I don't have a specific use case in mind, it seems worth doing it for `Vec` as well. Things to note: - In the `index < len` case, the number of conditions checked is unchanged. - In the `index == len` case, the number of conditions checked increases by one, but the more expensive zero-length copy is avoided. - In the `index > len` case the code now reserves space for the extra element before panicking. This seems like an unimportant change.
- Loading branch information