diff --git a/lib/primes/Cargo.toml b/lib/primes/Cargo.toml index 4a8f4d3..0bdd18b 100644 --- a/lib/primes/Cargo.toml +++ b/lib/primes/Cargo.toml @@ -7,3 +7,11 @@ edition = "2021" [dependencies] num = "*" + +[dev-dependencies] +criterion = "*" + + +[[bench]] +name = "benchmark" +harness = false diff --git a/lib/primes/benches/benchmark.rs b/lib/primes/benches/benchmark.rs new file mode 100644 index 0000000..626be48 --- /dev/null +++ b/lib/primes/benches/benchmark.rs @@ -0,0 +1,14 @@ +extern crate primes; + +use criterion::{criterion_group, criterion_main, Criterion}; + +use crate::primes::Primes; + +fn bench_primes_between_10e5_and_10e6(c: &mut Criterion) { + c.bench_function("primes 10e5 to 10e6", |b| { + b.iter(|| Primes::get_between(100_000, 1_000_000)) + }); +} + +criterion_group!(benches, bench_primes_between_10e5_and_10e6); +criterion_main!(benches); diff --git a/lib/primes/src/lib.rs b/lib/primes/src/lib.rs index f99018d..5fecff4 100644 --- a/lib/primes/src/lib.rs +++ b/lib/primes/src/lib.rs @@ -154,24 +154,4 @@ mod test { let primes = Primes::get_between(2, 100_000); assert_eq!(primes.len(), 9_592); } - - #[ignore] - #[test] - fn test_performance_1() { - let _ = Primes::get_between(100_000, 999_999); - } - - #[ignore] - #[test] - fn test_performance_2() { - let primes = Primes::get_between(2, 10_000_000); - assert_eq!(primes.len(), 664_579); - } - - #[ignore] - #[test] - fn test_performance_3() { - let primes = Primes::get_between(2, 1_000_000_000); - assert_eq!(primes.len(), 50_847_534); - } }