From 0aec2aac4e590f5b92a3045ee4afdb5b8af60388 Mon Sep 17 00:00:00 2001 From: kosipov Date: Sat, 17 Oct 2026 08:42:46 +0200 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20bench.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bench.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 bench.py 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)