about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/lib.rs
diff options
context:
space:
mode:
authorThe 8472 <git@infinite-source.de>2021-12-04 16:19:22 +0100
committerThe 8472 <git@infinite-source.de>2021-12-04 16:20:35 +0100
commit67180ef056b76f5d90c2164895adbe88fa056332 (patch)
treefee5a9c83ca0b39d0aa2da1a6b5b21ab51a9107e /compiler/rustc_codegen_llvm/src/lib.rs
parentd0f38cc4b432fd81853d489f70d3239fcc1d42bf (diff)
downloadrust-67180ef056b76f5d90c2164895adbe88fa056332.tar.gz
rust-67180ef056b76f5d90c2164895adbe88fa056332.zip
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)
```
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/lib.rs')
0 files changed, 0 insertions, 0 deletions