about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-07-27 01:12:30 +0000
committerbors <bors@rust-lang.org>2022-07-27 01:12:30 +0000
commitb573e10d21b69ebfadf41aa9c2f0a27919fe4480 (patch)
treee4ec1b41755a3e7e6f4e299ba14473e08a578667 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parent4d6d601c8a83284d6b23c253a3e2a060fd197316 (diff)
parent4ba7cac359b0180add75d78929ebae4f90813fa1 (diff)
downloadrust-b573e10d21b69ebfadf41aa9c2f0a27919fe4480.tar.gz
rust-b573e10d21b69ebfadf41aa9c2f0a27919fe4480.zip
Auto merge of #98553 - the8472:next_chunk_opt, r=Mark-Simulacrum
Optimized vec::IntoIter::next_chunk impl

```
x86_64v1, default
test vec::bench_next_chunk                               ... bench:         696 ns/iter (+/- 22)
x86_64v1, pr
test vec::bench_next_chunk                               ... bench:         309 ns/iter (+/- 4)

znver2, default
test vec::bench_next_chunk                               ... bench:      17,272 ns/iter (+/- 117)
znver2, pr
test vec::bench_next_chunk                               ... bench:         211 ns/iter (+/- 3)
```

On znver2 the default impl seems to be slow due to different inlining decisions. It goes through `core::array::iter_next_chunk`
which has a deep call tree.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions