FrameBridge 0.3.4 corresponding-source release
Snapshot assembled only from the signed corresponding-source archive. Source archive SHA-256: db91a270cdefc4be79056ed38a0b4a16747e1ab130592645eac40fa3809809df
This commit is contained in:
1 parent
b8c9b713d8
commit
cdd980e1eb
993 files changed
+255481
-1720
No files matched your search
@@ -0,0 +1,42 @@
|
||||
"""
|
||||
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))
|
||||
Reference in new issue
Block a user