#![feature(test)] extern crate test; use solana_runtime::message_processor::is_zeroed; use test::Bencher; const BUFSIZE: usize = 1024 * 1024 + 127; static BUF0: [u8; BUFSIZE] = [0; BUFSIZE]; static BUF1: [u8; BUFSIZE] = [1; BUFSIZE]; #[bench] fn bench_is_zeroed(bencher: &mut Bencher) { bencher.iter(|| { is_zeroed(&BUF0); }); } #[bench] fn bench_is_zeroed_not(bencher: &mut Bencher) { bencher.iter(|| { is_zeroed(&BUF1); }); } #[bench] fn bench_is_zeroed_by_iter(bencher: &mut Bencher) { bencher.iter(|| BUF0.iter().all(|item| *item == 0)); } #[bench] fn bench_is_zeroed_not_by_iter(bencher: &mut Bencher) { bencher.iter(|| BUF1.iter().all(|item| *item == 0)); }