X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=library%2Falloc%2Fbenches%2Fvec_deque.rs;h=7c78561ebf10946064861d753a9268188afde5ce;hb=43dd0e2424a1086e0d9d649f717b3646da6586b6;hp=6660380e4beb0d1ab28763728fea87587468e8e1;hpb=6c6958b5315961deb569505b97db34abd5d7f392;p=rust.git 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 = 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 = 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 = 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()))); + }); +}