fuzzytags/benches/fuzzy_tags_benches.rs

31 lines
1.2 KiB
Rust
Raw Normal View History

2021-01-30 09:53:44 +00:00
use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion};
2021-02-05 21:57:25 +00:00
use fuzzytags::RootSecret;
2021-01-30 08:23:46 +00:00
use std::time::Duration;
fn benchmark_generate_tag(c: &mut Criterion) {
let mut group = c.benchmark_group("generate_tags");
2021-01-30 09:53:44 +00:00
group.measurement_time(Duration::new(10, 0));
group.sample_size(1000);
2021-02-05 21:57:25 +00:00
let secret_key = RootSecret::<24>::generate();
2021-01-30 09:53:44 +00:00
for p in [5, 10, 15].iter() {
2021-02-05 21:57:25 +00:00
let public_key = secret_key.tagging_key();
group.bench_with_input(BenchmarkId::from_parameter(p), p, |b, _gamma| b.iter(|| public_key.generate_tag()));
2021-01-30 08:23:46 +00:00
}
}
fn benchmark_test_tag(c: &mut Criterion) {
let mut group = c.benchmark_group("test_tags");
2021-01-30 09:53:44 +00:00
group.measurement_time(Duration::new(10, 0));
group.sample_size(1000);
2021-02-05 21:57:25 +00:00
let secret_key = RootSecret::<24>::generate();
2021-01-30 09:53:44 +00:00
for p in [5, 10, 15].iter() {
2021-02-05 21:57:25 +00:00
let tag = secret_key.tagging_key().generate_tag();
let detection_key = secret_key.extract_detection_key(*p);
2021-01-30 09:53:44 +00:00
group.bench_with_input(BenchmarkId::from_parameter(p), p, |b, _gamma| b.iter(|| detection_key.test_tag(&tag)));
2021-01-30 08:23:46 +00:00
}
}
criterion_group!(benches, benchmark_generate_tag, benchmark_test_tag);
2021-01-30 09:53:44 +00:00
criterion_main!(benches);