From 1ac33c8986ceec9ce178d2597832bf250d6b29c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Thu, 21 Aug 2025 17:41:15 +0200 Subject: [PATCH 1/4] Fix type in ConcurrentRunner --- benchmarks/Support/ConcurrentRunner.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/benchmarks/Support/ConcurrentRunner.php b/benchmarks/Support/ConcurrentRunner.php index c17b32a..0fef213 100644 --- a/benchmarks/Support/ConcurrentRunner.php +++ b/benchmarks/Support/ConcurrentRunner.php @@ -29,18 +29,17 @@ protected function saveOperations(string $method, int $operations, string $nonce } /** - * @return array + * @return list */ protected function loadOperations(string $method, string $nonce): array { - $result = []; - - foreach ($this->redis->smembers("benchmark_run:{$this->run_id}:{$method}:{$nonce}") as $iteration) { - $result[] = unserialize($iteration); - } - - /** @var array $result */ - return $result; + return array_map( + /** @return array{int, int, int, int} */ + static function (string $iteration): array { + return unserialize($iteration); + }, + $this->redis->smembers("benchmark_run:{$this->run_id}:{$method}:{$nonce}") + ); } protected function blockForWorkers(string $nonce, float $timeout = 1.0): void From 45e3325b3aa41264d7ab7278b43284109b1976bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Thu, 21 Aug 2025 18:28:32 +0200 Subject: [PATCH 2/4] Fix type --- benchmarks/Support/ConcurrentRunner.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/benchmarks/Support/ConcurrentRunner.php b/benchmarks/Support/ConcurrentRunner.php index 0fef213..3563de0 100644 --- a/benchmarks/Support/ConcurrentRunner.php +++ b/benchmarks/Support/ConcurrentRunner.php @@ -34,9 +34,10 @@ protected function saveOperations(string $method, int $operations, string $nonce protected function loadOperations(string $method, string $nonce): array { return array_map( - /** @return array{int, int, int, int} */ static function (string $iteration): array { - return unserialize($iteration); + /** @var array{int, int, int, int} $measurements */ + $measurements = unserialize($iteration); + return $measurements; }, $this->redis->smembers("benchmark_run:{$this->run_id}:{$method}:{$nonce}") ); From 68a913f4cd2516017a410b571ccd9e4666b132bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Thu, 21 Aug 2025 19:03:36 +0200 Subject: [PATCH 3/4] Ensure keys are of a list in ConcurrentRunner --- benchmarks/Support/ConcurrentRunner.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/benchmarks/Support/ConcurrentRunner.php b/benchmarks/Support/ConcurrentRunner.php index 3563de0..116ebac 100644 --- a/benchmarks/Support/ConcurrentRunner.php +++ b/benchmarks/Support/ConcurrentRunner.php @@ -33,14 +33,14 @@ protected function saveOperations(string $method, int $operations, string $nonce */ protected function loadOperations(string $method, string $nonce): array { - return array_map( + return array_values(array_map( static function (string $iteration): array { /** @var array{int, int, int, int} $measurements */ $measurements = unserialize($iteration); return $measurements; }, $this->redis->smembers("benchmark_run:{$this->run_id}:{$method}:{$nonce}") - ); + )); } protected function blockForWorkers(string $nonce, float $timeout = 1.0): void From 3f8d511c463e514dfcf785e526cb652b42b9ce8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Thu, 21 Aug 2025 19:03:59 +0200 Subject: [PATCH 4/4] Fix CS --- benchmarks/Support/ConcurrentRunner.php | 1 + 1 file changed, 1 insertion(+) diff --git a/benchmarks/Support/ConcurrentRunner.php b/benchmarks/Support/ConcurrentRunner.php index 116ebac..8da21f0 100644 --- a/benchmarks/Support/ConcurrentRunner.php +++ b/benchmarks/Support/ConcurrentRunner.php @@ -37,6 +37,7 @@ protected function loadOperations(string $method, string $nonce): array static function (string $iteration): array { /** @var array{int, int, int, int} $measurements */ $measurements = unserialize($iteration); + return $measurements; }, $this->redis->smembers("benchmark_run:{$this->run_id}:{$method}:{$nonce}")