Добавить bench.py
This commit is contained in:
@@ -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)
|
||||||
Reference in New Issue
Block a user