Misc bench: add gen_1kb_u16_*

This commit is contained in:
Diggory Hardy
2020-02-28 15:33:35 +00:00
parent 6403c10d64
commit 571c9af9a6
+47 -4
View File
@@ -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<u16> = 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<u16> = 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<u64> = 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(|| {