2021-01-30 08:23:46 +00:00
|
|
|
use criterion::{criterion_group, criterion_main, Criterion, BenchmarkId};
|
|
|
|
use fuzzymetatag::FuzzyMetaTagKeyPair;
|
|
|
|
use std::time::Duration;
|
|
|
|
|
|
|
|
fn benchmark_generate_tag(c: &mut Criterion) {
|
|
|
|
let mut group = c.benchmark_group("generate_tags");
|
|
|
|
group.measurement_time(Duration::new(10,0));
|
2021-01-30 09:49:18 +00:00
|
|
|
let key = FuzzyMetaTagKeyPair::generate(24);
|
|
|
|
for p in [5,10,15].iter() {
|
|
|
|
group.bench_with_input(BenchmarkId::from_parameter(p), p, |b, _gamma| b.iter(|| { key.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");
|
|
|
|
group.measurement_time(Duration::new(10,0));
|
2021-01-30 09:49:18 +00:00
|
|
|
let key = FuzzyMetaTagKeyPair::generate(24);
|
|
|
|
for p in [5,10,15].iter() {
|
2021-01-30 08:23:46 +00:00
|
|
|
let tag = key.public_key.generate_tag();
|
2021-01-30 09:49:18 +00:00
|
|
|
let detection_key = key.extract(*p);
|
|
|
|
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);
|
|
|
|
criterion_main!(benches);
|