From bf9c7ffdede0329547124bf2bac6188c3b6987ee Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Wed, 5 Nov 2025 19:21:44 +0100 Subject: [PATCH] also return number and repeat --- slic/core/acquisition/broker/customdap.py | 2 +- slic/utils/timeitverb.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/slic/core/acquisition/broker/customdap.py b/slic/core/acquisition/broker/customdap.py index 5f8eae30..d18359ee 100644 --- a/slic/core/acquisition/broker/customdap.py +++ b/slic/core/acquisition/broker/customdap.py @@ -69,7 +69,7 @@ def test_run(func, max_time=0.1): compare(name, "mask", orig_mask, mask) run = lambda: func(meta, image, mask) - mean, _std, msg = timeit_verbose(run) + mean, _std, _number, _repeat, msg = timeit_verbose(run) print("Timing results:", msg) if mean <= max_time: diff --git a/slic/utils/timeitverb.py b/slic/utils/timeitverb.py index 1eb5fb2e..5b840584 100644 --- a/slic/utils/timeitverb.py +++ b/slic/utils/timeitverb.py @@ -7,14 +7,14 @@ def timeit_verbose(func, min_time=0.2, target_time=2, min_repeat=3): time the given func number of runs per repeat is chosen such that the total time per repeat >= min_time number of repeats is chosen such that the total time overall ~ target_time, but at least min_repeat - returns the average and std dev per run as well as a human-readable message + returns the average and std dev per run, number of runs and number of repeats, as well as a human-readable message """ timer = timeit.Timer(func) number, repeat = find_number_and_repeat(timer, min_time, target_time, min_repeat) times = run_timer(timer, number, repeat) mean, std = calc_stats(times, number) msg = f"{fmt_secs(mean)} ± {fmt_secs(std)} per loop (mean ± std. dev. of {repeat:,} runs, {number:,} loops each)" - return mean, std, msg + return mean, std, number, repeat, msg def find_number_and_repeat(timer, min_time, target_time, min_repeat):