3v4l.org

run code in 300+ PHP versions simultaneously
<?php function minMax(array $arr, int $left, int $right, &$minVal, &$maxVal) { if ($left === $right) { $minVal = $arr[$left]; $maxVal = $arr[$left]; } elseif (($right - $left) === 1) { $minVal = ($arr[$left] <= $arr[$right]) ? $arr[$left] : $arr[$right]; $maxVal = ($arr[$left] <= $arr[$right]) ? $arr[$right] : $arr[$left]; } else { $mid = (int)(($left + $right) / 2); minMax($arr, $left, $mid, $minVal, $maxVal); $minVal2 = null; $maxVal2 = null; minMax($arr, $mid + 1, $right, $minVal2, $maxVal2); $minVal = ($minVal2 < $minVal) ? $minVal2 : $minVal; $maxVal = ($maxVal2 > $maxVal) ? $maxVal2 : $maxVal; } } $arr = [3, 1, 5, 2, 9, 7]; $left = 0; $right = count($arr) - 1; $minVal = null; $maxVal = null; minMax($arr, $left, $right, $minVal, $maxVal); echo $minVal, "\n"; echo $maxVal, "\n";

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.5.00.0170.00619.98
8.4.150.0020.00014.05
8.4.140.0110.01017.70
8.4.130.0090.01217.69
8.4.120.0040.01023.98
8.4.110.0120.00822.65
8.4.100.0130.00817.87
8.4.90.0090.00417.57
8.4.80.0130.00620.74
8.4.70.0100.01017.70
8.4.60.0050.00417.58
8.4.50.0220.00917.82
8.4.40.0170.00917.35
8.4.30.0120.00717.51
8.4.20.0170.00717.72
8.4.10.0190.00417.61
8.3.280.0090.01218.33
8.3.270.0090.01116.83
8.3.260.0130.00616.61
8.3.250.0090.00918.98
8.3.240.0100.00817.05
8.3.230.0110.00916.49
8.3.220.0080.00717.26
8.3.210.0060.00216.56
8.3.200.0100.01016.58
8.3.190.0170.00216.38
8.3.180.0170.00316.53
8.3.170.0200.00316.42
8.3.160.0170.00316.61
8.3.150.0160.00616.26
8.3.140.0180.00316.33
8.3.130.0150.00316.20
8.3.120.0120.00816.39
8.3.110.0170.00716.67
8.3.100.0170.00516.78
8.3.90.0220.00316.68
8.3.80.0170.00616.52
8.3.70.0200.00416.19
8.3.60.0180.00316.59
8.3.50.0160.00516.54
8.3.40.0190.00417.45
8.3.30.0140.00417.32
8.3.20.0160.00117.36
8.3.10.0220.00917.38
8.3.00.0140.00417.21
8.2.290.0110.00620.60
8.2.280.0120.00516.59
8.2.270.0140.00216.35
8.2.260.0120.00516.54
8.2.250.0130.00416.37
8.2.240.0140.00416.40
8.2.230.0140.00316.25
8.2.220.0130.00416.56
8.2.210.0110.00716.65
8.2.200.0140.00416.64
8.2.190.0140.00416.39
8.2.180.0170.00116.17
8.2.170.0150.00417.56
8.2.160.0160.00217.52
8.2.150.0170.00417.11
8.2.140.0180.00517.41
8.2.130.0180.00117.52
8.2.120.0160.00917.52
8.2.110.0170.00717.65
8.2.100.0180.00717.45
8.2.90.0180.00417.18
8.2.80.0220.00617.42
8.2.70.0220.00617.48
8.2.60.0250.00417.02
8.2.50.0150.00317.70
8.2.40.0140.00317.50
8.2.30.0250.00917.32
8.2.20.0310.00917.51
8.2.10.0220.00517.55
8.2.00.0150.00517.49

preferences:
112.95 ms | 403 KiB | 5 Q