1234567891011121314151617181920212223242526272829303132333435 |
- """
- 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),
- )
|