diff --git a/bench.py b/bench.py new file mode 100644 index 0000000..2b07cfa --- /dev/null +++ b/bench.py @@ -0,0 +1,12 @@ +import statistics +import time +def bench(func, *args, repeats=5, warmup=1): + """Запускает func(*args) несколько раз и возвращает медиану и разброс, с.""" + for _ in range(warmup): # прогрев: кэши, JIT, запуск пула + func(*args) + times = [] + for _ in range(repeats): + start = time.perf_counter() # монотонный таймер высокого разрешения + func(*args) + times.append(time.perf_counter() - start) + return statistics.median(times), min(times), max(times)