BlogDocs

perf: Faster building of a validator(#565)

Closed
Merging
dd/fewer-allocs-2
(
2de467a
) into
master
(
d9ae90f
)
0%
IMPROVEMENTS
0
REGRESSIONS
0
UNTOUCHED
39
NEW
0
DROPPED
0
IGNORED
0

Benchmarks

Passed

is_valid[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Fast/Valid]
+4%
6.8 µs
6.5 µs
validate[Fast/Invalid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Fast/Invalid]
+2%
18.4 µs
18.1 µs
subresources_of[GeoJSON]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[GeoJSON]
+2%
3.7 µs
3.7 µs
subresources_of[CITM]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[CITM]
+2%
3.8 µs
3.8 µs
try_with_resource[Fast]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[Fast]
+1%
96.2 µs
95 µs
validate[Fast/Valid]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[Fast/Valid]
+1%
14.5 µs
14.4 µs
subresources_of[draft 2019-09]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 2019-09]
+1%
9.8 µs
9.7 µs
subresources_of[Swagger]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[Swagger]
+1%
10.1 µs
10 µs
subresources_of[Open API]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[Open API]
+1%
9.1 µs
9.1 µs
subresources_of[draft 6]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 6]
+1%
9.3 µs
9.3 µs
subresources_of[draft 2020-12]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 2020-12]
+1%
9.9 µs
9.8 µs
build[Swagger]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Swagger]
0%
10.4 ms
10.3 ms
subresources_of[draft 4]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 4]
0%
8.9 µs
8.8 µs
is_valid[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[CITM/Catalog]
0%
4.8 ms
4.8 ms
is_valid[Swagger/Kubernetes]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[Swagger/Kubernetes]
0%
22.3 ms
22.3 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
build[Open API]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Open API]
0%
13.6 ms
13.5 ms
try_new[draft 2020-12]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 2020-12]
0%
96.9 µs
96.8 µs
try_new[draft 4]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 4]
0%
83.1 µs
83 µs
try_new[draft 6]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_new[draft 6]
0%
88.5 µs
88.5 µs
validate[CITM/Catalog]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[CITM/Catalog]
0%
16.1 ms
16 ms
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
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
build[CITM]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[CITM]
0%
820.5 µs
820.5 µ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[draft 7]
crates/jsonschema-referencing/benches/subresources.rs::benches::bench_subresources::subresources::subresources_of[draft 7]
0%
9.9 µs
9.9 µs
build[GeoJSON]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[GeoJSON]
0%
2.3 ms
2.3 ms
try_with_resource[Open API]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[Open API]
0%
1.6 ms
1.6 ms
try_with_resource[GeoJSON]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[GeoJSON]
0%
926.1 µs
926.7 µs
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.9 ms
validate[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::validate[GeoJSON/Canada]
-1%
9.5 ms
9.5 ms
is_valid[GeoJSON/Canada]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::is_valid[GeoJSON/Canada]
-1%
9.5 ms
9.5 ms
try_with_resource[CITM]
crates/jsonschema-referencing/benches/registry.rs::benches::bench_subresources::registry::try_with_resource[CITM]
-1%
282.1 µs
285.6 µs
pointer[long]
crates/jsonschema-referencing/benches/pointer.rs::benches::bench_pointers::JSON Pointer::pointer[long]
-1%
14 µs
14.2 µs
resolve[small]
crates/jsonschema-referencing/benches/anchor.rs::benches::bench_anchor_lookup::Anchor Lookup::resolve[small]
-2%
3.6 µs
3.6 µs
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]
-4%
798.3 ns
827.5 ns
build[Fast]
crates/jsonschema/benches/jsonschema.rs::jsonschema::run_benchmarks::build[Fast]
-4%
248 µs
258.3 µs

Commits

Click on a commit to change the comparison range
base
master
d9ae90f
0%
perf: Faster building of a validator Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2de467a
2 days ago
by Stranger6667
ResourcesHomePricingDocsBlogGitHubChangelog