]>
git.proxmox.com Git - rustc.git/blob - src/vendor/arrayvec/benches/extend.rs
3 #[macro_use] extern crate bencher;
5 use arrayvec
::ArrayVec
;
9 fn extend_with_constant(b
: &mut Bencher
) {
10 let mut v
= ArrayVec
::<[u8; 512]>::new();
11 let cap
= v
.capacity();
14 v
.extend((0..cap
).map(|_
| 1));
17 b
.bytes
= v
.capacity() as u64;
20 fn extend_with_range(b
: &mut Bencher
) {
21 let mut v
= ArrayVec
::<[u8; 512]>::new();
22 let cap
= v
.capacity();
25 v
.extend((0..cap
).map(|x
| x
as _
));
28 b
.bytes
= v
.capacity() as u64;
31 fn extend_with_slice(b
: &mut Bencher
) {
32 let mut v
= ArrayVec
::<[u8; 512]>::new();
36 v
.extend(data
.iter().cloned());
39 b
.bytes
= v
.capacity() as u64;
42 benchmark_group
!(benches
, extend_with_constant
, extend_with_range
, extend_with_slice
);
43 benchmark_main
!(benches
);