Skip to content

Commit

Permalink
Merge pull request #940 from dhardy/work
Browse files Browse the repository at this point in the history
Replace AsByteSliceMut with Fill
  • Loading branch information
dhardy committed Mar 9, 2020
2 parents 2bb8594 + d66d4d1 commit 108632c
Show file tree
Hide file tree
Showing 3 changed files with 611 additions and 549 deletions.
51 changes: 47 additions & 4 deletions benches/misc.rs
Expand Up @@ -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(|| {
Expand All @@ -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();
Expand All @@ -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!
Expand All @@ -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(|| {
Expand Down

0 comments on commit 108632c

Please sign in to comment.