std::rand: share the benchmark counter among the whole module tree.
This commit is contained in:
parent
cd50fb39b5
commit
3c25baa540
3 changed files with 21 additions and 24 deletions
|
|
@ -182,12 +182,11 @@ mod bench {
|
|||
use super::*;
|
||||
use mem::size_of;
|
||||
use rand::distributions::IndependentSample;
|
||||
use rand::StdRng;
|
||||
use rand::{StdRng, RAND_BENCH_N};
|
||||
use extra::test::BenchHarness;
|
||||
use iter::range;
|
||||
use option::{Some, None};
|
||||
|
||||
static N: u64 = 100;
|
||||
|
||||
#[bench]
|
||||
fn bench_gamma_large_shape(bh: &mut BenchHarness) {
|
||||
|
|
@ -195,11 +194,11 @@ mod bench {
|
|||
let mut rng = StdRng::new();
|
||||
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
gamma.ind_sample(&mut rng);
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<f64>() as u64 * N;
|
||||
bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
|
|
@ -208,10 +207,10 @@ mod bench {
|
|||
let mut rng = StdRng::new();
|
||||
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
gamma.ind_sample(&mut rng);
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<f64>() as u64 * N;
|
||||
bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -556,25 +556,23 @@ mod tests {
|
|||
#[cfg(test)]
|
||||
mod bench {
|
||||
use extra::test::BenchHarness;
|
||||
use rand::*;
|
||||
use rand::{XorShiftRng, RAND_BENCH_N};
|
||||
use super::*;
|
||||
use iter::range;
|
||||
use option::{Some, None};
|
||||
use mem::size_of;
|
||||
|
||||
static N: u64 = 100;
|
||||
|
||||
#[bench]
|
||||
fn rand_normal(bh: &mut BenchHarness) {
|
||||
let mut rng = XorShiftRng::new();
|
||||
let mut normal = Normal::new(-2.71828, 3.14159);
|
||||
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
normal.sample(&mut rng);
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<f64>() as u64 * N;
|
||||
bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
#[bench]
|
||||
fn rand_exp(bh: &mut BenchHarness) {
|
||||
|
|
@ -582,10 +580,10 @@ mod bench {
|
|||
let mut exp = Exp::new(2.71828 * 3.14159);
|
||||
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
exp.sample(&mut rng);
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<f64>() as u64 * N;
|
||||
bh.bytes = size_of::<f64>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -833,58 +833,58 @@ mod test {
|
|||
}
|
||||
}
|
||||
|
||||
static RAND_BENCH_N: u64 = 100;
|
||||
|
||||
#[cfg(test)]
|
||||
mod bench {
|
||||
use extra::test::BenchHarness;
|
||||
use rand::*;
|
||||
use rand::{XorShiftRng, StdRng, IsaacRng, Isaac64Rng, Rng, RAND_BENCH_N};
|
||||
use mem::size_of;
|
||||
use iter::range;
|
||||
use option::{Some, None};
|
||||
|
||||
static N: u64 = 100;
|
||||
|
||||
#[bench]
|
||||
fn rand_xorshift(bh: &mut BenchHarness) {
|
||||
let mut rng = XorShiftRng::new();
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
rng.gen::<uint>();
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<uint>() as u64 * N;
|
||||
bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn rand_isaac(bh: &mut BenchHarness) {
|
||||
let mut rng = IsaacRng::new();
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
rng.gen::<uint>();
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<uint>() as u64 * N;
|
||||
bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn rand_isaac64(bh: &mut BenchHarness) {
|
||||
let mut rng = Isaac64Rng::new();
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
rng.gen::<uint>();
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<uint>() as u64 * N;
|
||||
bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn rand_std(bh: &mut BenchHarness) {
|
||||
let mut rng = StdRng::new();
|
||||
do bh.iter {
|
||||
for _ in range(0, N) {
|
||||
for _ in range(0, RAND_BENCH_N) {
|
||||
rng.gen::<uint>();
|
||||
}
|
||||
}
|
||||
bh.bytes = size_of::<uint>() as u64 * N;
|
||||
bh.bytes = size_of::<uint>() as u64 * RAND_BENCH_N;
|
||||
}
|
||||
|
||||
#[bench]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue