BlogDocs

perf: Speedup reference resolving(#563)

Merged
Merging
dd/shared-list
(
1b40454
) into
master
(
c9eac5c
)
+21%
IMPROVEMENTS
2
REGRESSIONS
0
UNTOUCHED
37
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Improved

pointer[long]
crates/jsonschema-referencing/benches/pointer.rs::benches::bench_pointers::JSON Pointer::pointer[long]
+21%
20.6 µs
17.1 µs
resolve[small]
crates/jsonschema-referencing/benches/anchor.rs::benches::bench_anchor_lookup::Anchor Lookup::resolve[small]
+20%
5.3 µs
4.4 µs

Passed

is_valid[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[GeoJSON/Canada]
+7%
10.1 ms
9.5 ms
validate[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[GeoJSON/Canada]
+7%
10.2 ms
9.5 ms
build[GeoJSON]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[GeoJSON]
+4%
2.3 ms
2.3 ms
build[Fast]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Fast]
+3%
256.1 µs
248.5 µs
build[Swagger]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Swagger]
+3%
10.8 ms
10.5 ms
is_valid[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Fast/Valid]
+2%
7 µs
6.8 µs
validate[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Fast/Invalid]
+2%
18.3 µs
18 µs
build[Open API]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Open API]
+1%
13.8 ms
13.6 ms
try_with_resource[CITM]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[CITM]
+1%
285.2 µs
283.4 µs
try_with_resource[GeoJSON]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[GeoJSON]
0%
929.6 µs
926.1 µs
subresources_of[Swagger]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[Swagger]
0%
10.1 µs
10.1 µs
validate[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Fast/Valid]
0%
14.5 µs
14.5 µs
is_valid[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[CITM/Catalog]
0%
4.8 ms
4.8 ms
try_new[draft 6]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 6]
0%
88.6 µs
88.5 µs
try_new[draft 4]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 4]
0%
83.1 µs
83.1 µs
try_new[draft 2020-12]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 2020-12]
0%
96.8 µs
96.8 µs
try_new[draft 2019-09]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 2019-09]
0%
94.4 µs
94.4 µs
subresources_of[CITM]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[CITM]
0%
3.8 µs
3.8 µs
subresources_of[Fast]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[Fast]
0%
3.4 µs
3.4 µs
subresources_of[GeoJSON]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[GeoJSON]
0%
3.7 µs
3.7 µs
subresources_of[Open API]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[Open API]
0%
9.1 µs
9.1 µs
subresources_of[draft 2019-09]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 2019-09]
0%
9.7 µs
9.7 µs
subresources_of[draft 2020-12]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 2020-12]
0%
9.8 µs
9.8 µs
subresources_of[draft 4]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 4]
0%
8.8 µs
8.8 µs
subresources_of[draft 6]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 6]
0%
9.3 µs
9.3 µs
subresources_of[draft 7]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 7]
0%
9.9 µs
9.9 µs
try_new[draft 7]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 7]
0%
100.9 µs
100.9 µs
validate[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[CITM/Catalog]
0%
16.1 ms
16.1 ms
validate[Open API/Zuora]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Open API/Zuora]
0%
23.2 ms
23.2 ms
validate[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Swagger/Kubernetes]
0%
31.8 ms
31.8 ms
is_valid[Open API/Zuora]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Open API/Zuora]
0%
21.5 ms
21.5 ms
is_valid[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Swagger/Kubernetes]
0%
22.2 ms
22.3 ms
build[CITM]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[CITM]
0%
827.8 µs
830.9 µs
try_with_resource[Fast]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[Fast]
-1%
95.3 µs
96.6 µs
try_with_resource[Open API]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[Open API]
-2%
1.6 ms
1.7 ms
try_with_resource[Swagger]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[Swagger]
-3%
1.6 ms
1.7 ms
is_valid[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Fast/Invalid]
-3%
827.5 ns
856.7 ns

Commits

Click on a commit to change the comparison range
base
master
c9eac5c
+21%
perf: Speedup reference resolving Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
1b40454
7 hours ago
by Stranger6667
ResourcesHomePricingDocsBlogGitHubChangelog