| 12345678910111213141516171819202122232425262728293031 |
- """
- A benchmark which measures the import time of jsonschema
- """
- import subprocess
- import sys
- def import_time(loops):
- total_us = 0
- for _ in range(loops):
- p = subprocess.run( # noqa: S603 (arguments are static)
- [sys.executable, "-X", "importtime", "-c", "import jsonschema"],
- stderr=subprocess.PIPE,
- stdout=subprocess.DEVNULL,
- check=True,
- )
- line = p.stderr.splitlines()[-1]
- field = line.split(b"|")[-2].strip()
- us = int(field) # microseconds
- total_us += us
- # pyperf expects seconds
- return total_us / 1_000_000.0
- if __name__ == "__main__":
- from pyperf import Runner
- runner = Runner()
- runner.bench_time_func("Import time (cumulative)", import_time)
|