From 60ca1275b5384cdc8167e75e74a5ce7059be04b2 Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Tue, 21 Jan 2025 16:33:42 +0000 Subject: [PATCH] benchmark: more warmup iterations --- .../java/de/uni_marburg/powersort/benchmark/JmhBase.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/jmh/java/de/uni_marburg/powersort/benchmark/JmhBase.java b/app/src/jmh/java/de/uni_marburg/powersort/benchmark/JmhBase.java index bc110cf..3f59c38 100644 --- a/app/src/jmh/java/de/uni_marburg/powersort/benchmark/JmhBase.java +++ b/app/src/jmh/java/de/uni_marburg/powersort/benchmark/JmhBase.java @@ -41,7 +41,11 @@ import java.util.concurrent.TimeUnit; // - "More warmup/measurement iterations are generally required." // - "Timers overhead might be significant if benchmarks are small;" @BenchmarkMode(Mode.SingleShotTime) -@Warmup(iterations = 12) +// During warmup iterations for ASCENDING_RUNS (with TIM_SORT and FASTER_FINN_SORT): +// - Until the 17th spike of up to +750% (Maybe JVM optimizations happening?) +// - After 40th constant slowdown of around +10% (Maybe CPU frequency adjustments?) +// Thus, we need at least ~50 warmup iterations! +@Warmup(iterations = 50) @Measurement(iterations = 6) /*