⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.144
Server IP:
157.245.143.252
Server:
Linux www 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64
Server Software:
nginx/1.26.0
PHP Version:
8.3.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
lib
/
python3
/
dist-packages
/
jsonschema
/
benchmarks
/
View File Name :
subcomponents.py
""" 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))