use criterion::{black_box, criterion_group, criterion_main, Criterion};
use http_types::Method;
use tide::router::Router;
fn criterion_benchmark(c: &mut Criterion) {
let mut router = Router::<()>::new();
router.add(
"hello",
Method::Get,
Box::new(|_| async { Ok("hello world") }),
);
c.bench_function("route-match", |b| {
b.iter(|| black_box(router.route("/hello", Method::Get)))
});
c.bench_function("route-root", |b| {
b.iter(|| black_box(router.route("", Method::Get)))
});
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);