blob: f20cd4903b856102943585cc1f6ab7669f132b31 [file] [log] [blame]
import os
import re
import sys
from subprocess import Popen
_filename_re = re.compile(r"^bench_(.*?)\.py$")
bench_directory = os.path.abspath(os.path.dirname(__file__))
def list_benchmarks():
result = []
for name in os.listdir(bench_directory):
match = _filename_re.match(name)
if match is not None:
result.append(match.group(1))
result.sort(key=lambda x: (x.startswith("logging_"), x.lower()))
return result
def run_bench(name):
print(name)
Popen(
[sys.executable, "-m", "timeit", "-s", f"from bench_{name} import run", "run()"]
).wait()
def main():
print("=" * 80)
print("Running benchmark for MarkupSafe")
print("-" * 80)
os.chdir(bench_directory)
for bench in list_benchmarks():
run_bench(bench)
print("-" * 80)
if __name__ == "__main__":
main()