Skip to content

Commit 20e14e4

Browse files
committed
Add benchmark for Vec::retain
1 parent d1d8145 commit 20e14e4

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

library/alloc/benches/vec.rs

+15
Original file line numberDiff line numberDiff line change
@@ -732,3 +732,18 @@ fn bench_flat_map_collect(b: &mut Bencher) {
732732
let v = vec![777u32; 500000];
733733
b.iter(|| v.iter().flat_map(|color| color.rotate_left(8).to_be_bytes()).collect::<Vec<_>>());
734734
}
735+
736+
#[bench]
737+
fn bench_retain_100000(b: &mut Bencher) {
738+
let v = (1..=100000).collect::<Vec<u32>>();
739+
b.iter(|| {
740+
let mut v = v.clone();
741+
v.retain(|x| x & 1 == 0)
742+
});
743+
}
744+
745+
#[bench]
746+
fn bench_retain_whole_100000(b: &mut Bencher) {
747+
let mut v = black_box(vec![826u32; 100000]);
748+
b.iter(|| v.retain(|x| *x == 826u32));
749+
}

0 commit comments

Comments
 (0)