diff options
| author | Paolo Barbolini <paolo.barbolini@m4ss.net> | 2022-06-11 22:53:46 +0200 |
|---|---|---|
| committer | Paolo Barbolini <paolo.barbolini@m4ss.net> | 2022-06-17 23:41:03 +0200 |
| commit | ac2c21a62338f916cac8b58de808013e3eb7a9f0 (patch) | |
| tree | 7d5b5123f32563fdcbf61bceadbae6cb9d6a41ab /library/alloc | |
| parent | 0cb9899e780bcefb9008088c1e6d6cd5fe2593b4 (diff) | |
| download | rust-ac2c21a62338f916cac8b58de808013e3eb7a9f0.tar.gz rust-ac2c21a62338f916cac8b58de808013e3eb7a9f0.zip | |
Add VecDeque::extend TrustedLen benchmark
Diffstat (limited to 'library/alloc')
| -rw-r--r-- | library/alloc/benches/vec_deque.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/library/alloc/benches/vec_deque.rs b/library/alloc/benches/vec_deque.rs index 6660380e4be..7c78561ebf1 100644 --- a/library/alloc/benches/vec_deque.rs +++ b/library/alloc/benches/vec_deque.rs @@ -91,3 +91,35 @@ fn bench_extend_vec(b: &mut Bencher) { ring.extend(black_box(input)); }); } + +#[bench] +fn bench_extend_trustedlen(b: &mut Bencher) { + let mut ring: VecDeque<u16> = VecDeque::with_capacity(1000); + + b.iter(|| { + ring.clear(); + ring.extend(black_box(0..512)); + }); +} + +#[bench] +fn bench_extend_chained_trustedlen(b: &mut Bencher) { + let mut ring: VecDeque<u16> = VecDeque::with_capacity(1000); + + b.iter(|| { + ring.clear(); + ring.extend(black_box((0..256).chain(768..1024))); + }); +} + +#[bench] +fn bench_extend_chained_bytes(b: &mut Bencher) { + let mut ring: VecDeque<u16> = VecDeque::with_capacity(1000); + let input1: &[u16] = &[128; 256]; + let input2: &[u16] = &[255; 256]; + + b.iter(|| { + ring.clear(); + ring.extend(black_box(input1.iter().chain(input2.iter()))); + }); +} |
