From 571c9af9a63d939e849c1cc100e4084ec46e195a Mon Sep 17 00:00:00 2001 From: Diggory Hardy Date: Fri, 28 Feb 2020 15:33:35 +0000 Subject: [PATCH] Misc bench: add gen_1kb_u16_* --- benches/misc.rs | 51 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/benches/misc.rs b/benches/misc.rs index e46137f1..11d12eb2 100644 --- a/benches/misc.rs +++ b/benches/misc.rs @@ -97,7 +97,50 @@ fn misc_bernoulli_var(b: &mut Bencher) { } #[bench] -fn gen_1k_iter_repeat(b: &mut Bencher) { +fn gen_1kb_u16_iter_repeat(b: &mut Bencher) { + use std::iter; + let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); + b.iter(|| { + let v: Vec = iter::repeat(()).map(|()| rng.gen()).take(512).collect(); + v + }); + b.bytes = 1024; +} + +#[bench] +fn gen_1kb_u16_sample_iter(b: &mut Bencher) { + let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); + b.iter(|| { + let v: Vec = Standard.sample_iter(&mut rng).take(512).collect(); + v + }); + b.bytes = 1024; +} + +#[bench] +fn gen_1kb_u16_gen_array(b: &mut Bencher) { + let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); + b.iter(|| { + // max supported array length is 32! + let v: [[u16; 32]; 16] = rng.gen(); + v + }); + b.bytes = 1024; +} + +#[bench] +fn gen_1kb_u16_fill(b: &mut Bencher) { + let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); + let mut buf = [0u16; 512]; + b.iter(|| { + rng.fill(&mut buf[..]); + buf + }); + b.bytes = 1024; +} + +#[bench] +fn gen_1kb_u64_iter_repeat(b: &mut Bencher) { use std::iter; let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); b.iter(|| { @@ -108,7 +151,7 @@ fn gen_1k_iter_repeat(b: &mut Bencher) { } #[bench] -fn gen_1k_sample_iter(b: &mut Bencher) { +fn gen_1kb_u64_sample_iter(b: &mut Bencher) { let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); b.iter(|| { let v: Vec = Standard.sample_iter(&mut rng).take(128).collect(); @@ -118,7 +161,7 @@ fn gen_1k_sample_iter(b: &mut Bencher) { } #[bench] -fn gen_1k_gen_array(b: &mut Bencher) { +fn gen_1kb_u64_gen_array(b: &mut Bencher) { let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); b.iter(|| { // max supported array length is 32! @@ -129,7 +172,7 @@ fn gen_1k_gen_array(b: &mut Bencher) { } #[bench] -fn gen_1k_fill(b: &mut Bencher) { +fn gen_1kb_u64_fill(b: &mut Bencher) { let mut rng = Pcg64Mcg::from_rng(&mut thread_rng()).unwrap(); let mut buf = [0u64; 128]; b.iter(|| {