123456789101112131415161718192021222324252627282930 |
- """
- A benchmark for comparing equivalent validation of `const` and `enum`.
- """
- from pyperf import Runner
- from jsonschema import Draft202012Validator
- value = [37] * 100
- const_schema = {"const": list(value)}
- enum_schema = {"enum": [list(value)]}
- valid = list(value)
- invalid = [*valid, 73]
- const = Draft202012Validator(const_schema)
- enum = Draft202012Validator(enum_schema)
- assert const.is_valid(valid)
- assert enum.is_valid(valid)
- assert not const.is_valid(invalid)
- assert not enum.is_valid(invalid)
- if __name__ == "__main__":
- runner = Runner()
- runner.bench_func("const valid", lambda: const.is_valid(valid))
- runner.bench_func("const invalid", lambda: const.is_valid(invalid))
- runner.bench_func("enum valid", lambda: enum.is_valid(valid))
- runner.bench_func("enum invalid", lambda: enum.is_valid(invalid))
|