From d1cc7384fe2a2bbe97c666fc8559c7296c4c856e Mon Sep 17 00:00:00 2001 From: Andrey Helldar Date: Fri, 1 May 2026 22:11:59 +0300 Subject: [PATCH] Fix warmup logic in benchmark iteration handling --- src/Benchmark.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Benchmark.php b/src/Benchmark.php index bb76e21..e40bc6b 100644 --- a/src/Benchmark.php +++ b/src/Benchmark.php @@ -339,7 +339,7 @@ protected function chunks(array $callbacks, ProgressBar $progressBar): void */ protected function run(mixed $name, Closure $callback, ProgressBar $progressBar): void { - $warmedUp = $this->warmup === 0; + $warmedUp = $this->warmup; for ($i = 1; $i <= $this->iterations + $this->warmup; $i++) { $result = $this->callbacks->performBeforeEach($name, $i); @@ -348,8 +348,10 @@ protected function run(mixed $name, Closure $callback, ProgressBar $progressBar) $this->callbacks->performAfterEach($name, $i, $time, $memory); - if ($warmedUp) { + if ($warmedUp <= 0) { $this->push($name, $time, $memory); + } else { + $warmedUp--; } $progressBar->advance();