diff options
| author | TennyZhuang <zty0826@gmail.com> | 2021-08-16 09:51:10 +0800 |
|---|---|---|
| committer | TennyZhuang <zty0826@gmail.com> | 2021-09-17 02:55:12 +0800 |
| commit | 20e14e4030744a3dc0e9bfc8ad2f17000ed748ce (patch) | |
| tree | e396c38d8cbc8389e7b76b52402d93c1afa83336 /library/alloc | |
| parent | d1d8145dffde1092135b571d1d19205fe2a8fc44 (diff) | |
| download | rust-20e14e4030744a3dc0e9bfc8ad2f17000ed748ce.tar.gz rust-20e14e4030744a3dc0e9bfc8ad2f17000ed748ce.zip | |
Add benchmark for Vec::retain
Diffstat (limited to 'library/alloc')
| -rw-r--r-- | library/alloc/benches/vec.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/library/alloc/benches/vec.rs b/library/alloc/benches/vec.rs index c93a493cadb..8e1d374b5d4 100644 --- a/library/alloc/benches/vec.rs +++ b/library/alloc/benches/vec.rs @@ -732,3 +732,18 @@ fn bench_flat_map_collect(b: &mut Bencher) { let v = vec![777u32; 500000]; b.iter(|| v.iter().flat_map(|color| color.rotate_left(8).to_be_bytes()).collect::<Vec<_>>()); } + +#[bench] +fn bench_retain_100000(b: &mut Bencher) { + let v = (1..=100000).collect::<Vec<u32>>(); + b.iter(|| { + let mut v = v.clone(); + v.retain(|x| x & 1 == 0) + }); +} + +#[bench] +fn bench_retain_whole_100000(b: &mut Bencher) { + let mut v = black_box(vec![826u32; 100000]); + b.iter(|| v.retain(|x| *x == 826u32)); +} |
