Server IP : 92.204.138.22 / Your IP : 18.223.195.20 Web Server : Apache System : Linux ns1009439.ip-92-204-138.us 4.18.0-553.8.1.el8_10.x86_64 #1 SMP Tue Jul 2 07:26:33 EDT 2024 x86_64 User : internationaljou ( 1019) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/opt/nydus/ops/jsonschema/benchmarks/ |
Upload File : |
""" A benchmark which tries to compare the possible slow subparts of validation. """ from referencing import Registry from referencing.jsonschema import DRAFT202012 from rpds import HashTrieMap, HashTrieSet from jsonschema import Draft202012Validator schema = { "type": "array", "minLength": 1, "maxLength": 1, "items": {"type": "integer"}, } hmap = HashTrieMap() hset = HashTrieSet() registry = Registry() v = Draft202012Validator(schema) def registry_data_structures(): return hmap.insert("foo", "bar"), hset.insert("foo") def registry_add(): resource = DRAFT202012.create_resource(schema) return registry.with_resource(uri="urn:example", resource=resource) if __name__ == "__main__": from pyperf import Runner runner = Runner() runner.bench_func("HashMap/HashSet insertion", registry_data_structures) runner.bench_func("Registry insertion", registry_add) runner.bench_func("Success", lambda: v.is_valid([1])) runner.bench_func("Failure", lambda: v.is_valid(["foo"])) runner.bench_func("Metaschema validation", lambda: v.check_schema(schema))