Tejasw1's picture
Upload folder using huggingface_hub
2d1874a verified
raw
history blame contribute delete
940 Bytes
"""
An unused schema registry should not cause slower validation.
"Unused" here means one where no reference resolution is occurring anyhow.
See https://github.com/python-jsonschema/jsonschema/issues/1088.
"""
from pyperf import Runner
from referencing import Registry
from referencing.jsonschema import DRAFT201909
from jsonschema import Draft201909Validator
registry = Registry().with_resource(
"urn:example:foo",
DRAFT201909.create_resource({}),
)
schema = {"$ref": "https://json-schema.org/draft/2019-09/schema"}
instance = {"maxLength": 4}
no_registry = Draft201909Validator(schema)
with_useless_registry = Draft201909Validator(schema, registry=registry)
if __name__ == "__main__":
runner = Runner()
runner.bench_func(
"no registry",
lambda: no_registry.is_valid(instance),
)
runner.bench_func(
"useless registry",
lambda: with_useless_registry.is_valid(instance),
)