From 18be480e89e773f827da930d98618db4a9c9d9f9 Mon Sep 17 00:00:00 2001 From: Aria Shrimpton Date: Tue, 19 Mar 2024 22:38:59 +0000 Subject: benchmark updates --- src/tests/example_mapping/benches/main.rs | 6 ++++-- src/tests/example_mapping/src/lib.rs | 12 ++++++------ src/tests/example_sets/benches/main.rs | 6 ++++-- src/tests/example_sets/src/lib.rs | 8 ++++---- src/tests/example_stack/benches/main.rs | 2 +- src/tests/prime_sieve/benches/main.rs | 2 +- 6 files changed, 20 insertions(+), 16 deletions(-) (limited to 'src/tests') diff --git a/src/tests/example_mapping/benches/main.rs b/src/tests/example_mapping/benches/main.rs index 04d43fb..77b2394 100644 --- a/src/tests/example_mapping/benches/main.rs +++ b/src/tests/example_mapping/benches/main.rs @@ -1,12 +1,14 @@ use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; +use rand::{rngs::StdRng, SeedableRng}; fn run_benches(c: &mut Criterion) { - for size in [10_000, 30_000, 60_000].iter() { + let mut rng = StdRng::seed_from_u64(42); + for size in [50, 150, 2_500, 7_500].iter() { c.bench_with_input( BenchmarkId::new("example_mapping-insert_get", size), size, |b, &n| { - b.iter(|| example_mapping::insert_get(n)); + b.iter(|| example_mapping::insert_get(&mut rng, n)); }, ); } diff --git a/src/tests/example_mapping/src/lib.rs b/src/tests/example_mapping/src/lib.rs index f9216df..c95a016 100644 --- a/src/tests/example_mapping/src/lib.rs +++ b/src/tests/example_mapping/src/lib.rs @@ -2,18 +2,18 @@ mod types; use primrose_library::traits::Mapping; -use rand::random; +use rand::{rngs::StdRng, Rng}; use std::hint::black_box; use types::*; -pub fn insert_get(n: usize) { - let mut set: Map = Map::default(); +pub fn insert_get(rng: &mut StdRng, n: usize) { + let mut set: Map = Map::default(); - for i in 0..n { - set.insert(i.to_string(), random()); + for _ in 0..n { + set.insert(rng.gen(), rng.gen()); } for i in 0..2 * n { - black_box(|x| x)(black_box(set.get(&i.to_string()))); + black_box(|x| x)(black_box(set.get(&i))); } } diff --git a/src/tests/example_sets/benches/main.rs b/src/tests/example_sets/benches/main.rs index 26e8547..03ab904 100644 --- a/src/tests/example_sets/benches/main.rs +++ b/src/tests/example_sets/benches/main.rs @@ -1,12 +1,14 @@ use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; +use rand::{rngs::StdRng, SeedableRng}; fn run_benches(c: &mut Criterion) { - for size in [500, 2_000, 10_000, 50_000].iter() { + let mut rng = StdRng::seed_from_u64(42); + for size in [50, 150, 2_500, 7_500].iter() { c.bench_with_input( BenchmarkId::new("example_sets-insert_n", size), size, |b, &n| { - b.iter(|| example_sets::insert_n(n)); + b.iter(|| example_sets::insert_n(&mut rng, n)); }, ); } diff --git a/src/tests/example_sets/src/lib.rs b/src/tests/example_sets/src/lib.rs index c5bd163..5acd6d7 100644 --- a/src/tests/example_sets/src/lib.rs +++ b/src/tests/example_sets/src/lib.rs @@ -4,17 +4,17 @@ mod types; use types::Set; use primrose_library::traits::*; -use rand::random; +use rand::{rngs::StdRng, Rng}; use std::hint::black_box; -pub fn insert_n(n: usize) { +pub fn insert_n(rng: &mut StdRng, n: usize) { let mut set: Set = Set::default(); for _ in 0..n { - set.insert(random()); + set.insert(rng.gen()); } for _ in 0..2 * n { - black_box(|x| x)(black_box(set.contains(&random()))); + black_box(|x| x)(black_box(set.contains(&rng.gen()))); } } diff --git a/src/tests/example_stack/benches/main.rs b/src/tests/example_stack/benches/main.rs index 5b6076b..2fb6dd3 100644 --- a/src/tests/example_stack/benches/main.rs +++ b/src/tests/example_stack/benches/main.rs @@ -1,7 +1,7 @@ use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; fn run_benches(c: &mut Criterion) { - for size in [1_000_000, 10_000_000, 50_000_000].iter() { + for size in [10, 1000, 10_000].iter() { c.bench_with_input( BenchmarkId::new("example_stack-push_pop", size), size, diff --git a/src/tests/prime_sieve/benches/main.rs b/src/tests/prime_sieve/benches/main.rs index 9b1b8c2..e4a4278 100644 --- a/src/tests/prime_sieve/benches/main.rs +++ b/src/tests/prime_sieve/benches/main.rs @@ -3,7 +3,7 @@ use criterion::Criterion; use criterion::{criterion_group, criterion_main}; fn bench_sieve(c: &mut Criterion) { - for size in [500, 20_000, 50_000].iter() { + for size in [50, 500, 50_000].iter() { c.bench_with_input(BenchmarkId::new("prime_sieve", size), size, |b, &n| { b.iter(|| prime_sieve::prime_sieve(n)); }); -- cgit v1.2.3