Добавить 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