From 6a9f3fff385024f8a47a40cd98d76d342722263a Mon Sep 17 00:00:00 2001 From: Dmitry Dygalo Date: Thu, 6 Feb 2025 09:51:50 +0100 Subject: [PATCH] perf: Add more benchmarks Signed-off-by: Dmitry Dygalo --- .../jsonschema-referencing/benches/pointer.rs | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/crates/jsonschema-referencing/benches/pointer.rs b/crates/jsonschema-referencing/benches/pointer.rs index 0a40e8fa..abce3047 100644 --- a/crates/jsonschema-referencing/benches/pointer.rs +++ b/crates/jsonschema-referencing/benches/pointer.rs @@ -32,19 +32,26 @@ fn bench_pointers(c: &mut Criterion) { let registry = Registry::try_new("http://example.com/schema.json", resource) .expect("Invalid registry input"); + let cases = [ + ("single", "#/properties"), + ("double", "#/properties/level_0"), + ("long", "#/properties/level_0/level_1/level_2/level_3/level_4/level_5/level_6/level_7/level_8/level_9/level_10/level_11/level_12/level_13/level_14/array/1"), + ]; + let mut group = c.benchmark_group("JSON Pointer"); - let pointer = "#/properties/level_0/level_1/level_2/level_3/level_4/level_5/level_6/level_7/level_8/level_9/level_10/level_11/level_12/level_13/level_14/array/1"; - group.bench_with_input( - BenchmarkId::new("pointer", "long"), - ®istry, - |b, registry| { - let resolver = registry - .try_resolver("http://example.com/schema.json") - .expect("Invalid base URI"); - b.iter_with_large_drop(|| resolver.lookup(black_box(pointer))); - }, - ); + for (name, pointer) in cases { + group.bench_with_input( + BenchmarkId::new("pointer", name), + ®istry, + |b, registry| { + let resolver = registry + .try_resolver("http://example.com/schema.json") + .expect("Invalid base URI"); + b.iter_with_large_drop(|| resolver.lookup(black_box(pointer))); + }, + ); + } group.finish(); }