use criterion::{black_box, criterion_group, criterion_main, Criterion}; use btest_rs::ecsrp5::{WCurve, WCURVE}; fn bench_wcurve_new(c: &mut Criterion) { c.bench_function("wcurve_new_uncached", |b| { b.iter(|| black_box(WCurve::new())) }); } fn bench_wcurve_cached(c: &mut Criterion) { // Force initialization before benchmarking let _ = &*WCURVE; c.bench_function("wcurve_cached_access", |b| { b.iter(|| black_box(&*WCURVE)) }); } criterion_group!(ecsrp5_benches, bench_wcurve_new, bench_wcurve_cached); criterion_main!(ecsrp5_benches);