Добавить bench.py

This commit is contained in:
2026-10-17 08:42:46 +02:00
parent a9dc4afde6
commit 0aec2aac4e
+12
View File
@@ -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)