about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/lib.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-12-16 07:58:36 +0000
committerbors <bors@rust-lang.org>2021-12-16 07:58:36 +0000
commita090c8659c3be0cbc7dc93c4b2c11a9cdbf8b980 (patch)
tree51187e7cb6ee1c308e65f0ea8494c212091fa39f /compiler/rustc_codegen_llvm/src/lib.rs
parent9e1aff82e696c0edb568656ae6b509a9ab4d6c92 (diff)
parent67180ef056b76f5d90c2164895adbe88fa056332 (diff)
downloadrust-a090c8659c3be0cbc7dc93c4b2c11a9cdbf8b980.tar.gz
rust-a090c8659c3be0cbc7dc93c4b2c11a9cdbf8b980.zip
Auto merge of #91527 - the8472:retain-opt, r=dtolnay
Optimize `vec::retain` performance

This simply moves the loops into the inner function which leads to better results.

```
old:

test vec::bench_retain_100000                            ... bench:     203,828 ns/iter (+/- 2,101)
test vec::bench_retain_iter_100000                       ... bench:      63,324 ns/iter (+/- 12,305)
test vec::bench_retain_whole_100000                      ... bench:      42,989 ns/iter (+/- 291)

new:

test vec::bench_retain_100000                            ... bench:      42,180 ns/iter (+/- 451)
test vec::bench_retain_iter_100000                       ... bench:      65,167 ns/iter (+/- 11,971)
test vec::bench_retain_whole_100000                      ... bench:      33,736 ns/iter (+/- 12,404)
```

Measured on x86_64-unknown-linux-gnu, Zen2

Fixes #91497
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/lib.rs')
0 files changed, 0 insertions, 0 deletions