From c371b32a2e5334b6027f310742e33681f1bd9c5c Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 1 May 2023 09:10:04 +0200 Subject: [PATCH] Perf optimize MemoryEfficientLongestCommonSubsequenceCalculator --- src/MemoryEfficientLongestCommonSubsequenceCalculator.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/MemoryEfficientLongestCommonSubsequenceCalculator.php b/src/MemoryEfficientLongestCommonSubsequenceCalculator.php index dde08027..a46de07d 100644 --- a/src/MemoryEfficientLongestCommonSubsequenceCalculator.php +++ b/src/MemoryEfficientLongestCommonSubsequenceCalculator.php @@ -78,7 +78,12 @@ private function length(array $from, array $to): array if ($from[$i] === $to[$j]) { $current[$j + 1] = $prev[$j] + 1; } else { - $current[$j + 1] = max($current[$j], $prev[$j + 1]); + // don't use max() to avoid function call overhead + if ($current[$j] > $prev[$j + 1]) { + $current[$j + 1] = $current[$j]; + } else { + $current[$j + 1] = $prev[$j + 1]; + } } } }