3v4l.org

run code in 300+ PHP versions simultaneously
<?php $A = [1, -2, 5, -9, 9]; $X = -2; $s = solution($A, $X); var_dump($s, array_search($X, $A)); function solution($A, $X) { $N = sizeof($A); if ($N == 0) { return -1; } $l = 0; $r = $N - 1; while ($l < $r) { $m = (int)(($l + $r) / 2); if ($A[$m] > $X) { $r = $m; } else { $l = $m; } } if ($A[$l] == $X) { return $l; } else return -1; }

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.3.40.0101.99318.52
8.3.30.0131.98820.29
8.3.20.0032.00018.77
8.3.10.0071.99521.25
8.3.00.0101.99322.29
8.2.170.0101.99319.15
8.2.160.0131.98922.96
8.2.150.0031.99924.18
8.2.140.0001.99924.66
8.2.130.0071.99526.16
8.2.120.0131.98620.83
8.2.110.0031.99821.11
8.2.100.0071.99518.03
8.2.90.0031.99919.16
8.2.80.0031.99917.97
8.2.70.0071.99417.50
8.2.60.0071.99618.03
8.2.50.0002.00318.10
8.2.40.0031.99720.72
8.2.30.0031.99819.55
8.2.20.0002.00217.66
8.2.10.0032.00017.88
8.2.00.0032.01017.62
8.1.270.0032.00023.99
8.1.260.0101.99226.35
8.1.250.0071.99428.09
8.1.240.0031.99923.97
8.1.230.0002.00317.70
8.1.220.0031.99717.78
8.1.210.0032.00018.77
8.1.200.0032.00017.23
8.1.190.0002.00317.22
8.1.180.0071.99418.10
8.1.170.0031.99818.43
8.1.160.0002.00722.16
8.1.150.0101.98718.61
8.1.140.0032.00117.51
8.1.130.0032.00117.75
8.1.120.0071.99517.54
8.1.110.0002.00117.57
8.1.100.0002.00417.57
8.1.90.0031.99817.53
8.1.80.0002.00417.37
8.1.70.0032.00017.53
8.1.60.0071.99717.70
8.1.50.0002.00317.46
8.1.40.0031.99917.49
8.1.30.0002.00217.63
8.1.20.0032.00017.55
8.1.10.0171.99217.62
8.1.00.0031.99817.55
8.0.300.0032.00018.77
8.0.290.0031.99816.63
8.0.280.0031.99818.37
8.0.270.0032.00217.18
8.0.260.0101.99216.70
8.0.250.0002.00316.91
8.0.240.0071.99116.73
8.0.230.0071.99516.89
8.0.220.0032.00016.66
8.0.210.0031.99816.76
8.0.200.0002.00716.84
8.0.190.0071.99516.84
8.0.180.0002.00416.84
8.0.170.0032.00016.88
8.0.160.0032.00016.71
8.0.150.0031.99816.67
8.0.140.0002.00316.80
8.0.130.0031.99713.32
8.0.120.0002.00216.84
8.0.110.0071.99416.80
8.0.100.0002.00216.63
8.0.90.0071.99416.56
8.0.80.0031.99616.81
8.0.70.0071.99616.80
8.0.60.0032.00016.78
8.0.50.0031.99816.79
8.0.30.0131.99017.18
8.0.20.0111.98517.40
8.0.10.0031.99916.89
8.0.00.0221.97316.92
7.4.330.0031.99716.79
7.4.320.0031.99816.44
7.4.300.0002.00316.52
7.4.290.0002.00216.35
7.4.280.0071.99416.45
7.4.270.0002.00516.48
7.4.260.0231.98113.23
7.4.250.0031.99816.33
7.4.240.0022.00016.46
7.4.230.0002.00216.55
7.4.220.0002.00016.35
7.4.210.0101.99316.44
7.4.200.0071.99516.21
7.4.190.0002.00516.45
7.4.160.0131.98416.22
7.4.150.0131.99417.40
7.4.140.0151.98417.86
7.4.130.0101.99416.47
7.4.120.0241.97816.46
7.4.110.0132.46316.41
7.4.100.0072.47316.32
7.4.90.0032.45616.35
7.4.80.0262.43719.39
7.4.70.0102.42516.49
7.4.60.0132.46716.43
7.4.50.0032.49616.50
7.4.40.0002.49922.77
7.4.30.0132.45016.48
7.4.00.0552.32714.68
7.3.330.0002.00113.35
7.3.320.0101.99313.32
7.3.310.0071.99416.27
7.3.300.0002.00116.25
7.3.290.0031.99716.19
7.3.280.0111.98716.27
7.3.270.0191.97917.40
7.3.260.0061.99518.24
7.3.250.0101.98716.47
7.3.240.0261.97916.52
7.3.230.0072.47216.39
7.3.210.0102.46216.54
7.3.200.0132.43916.40
7.3.190.0252.36316.35
7.3.180.0092.46716.34
7.3.170.0102.46616.45
7.3.160.0162.44616.14
7.3.120.0152.43514.71
7.3.110.0352.33114.96
7.2.330.0192.44116.70
7.2.320.0132.42216.70
7.2.310.0132.44716.86
7.2.300.0192.45416.38
7.2.290.0072.47316.74
7.2.250.0582.27214.93
7.2.240.0612.22014.88
7.2.60.0032.48417.05
7.2.00.0032.49819.36
7.1.200.0072.48915.56
7.1.100.0072.49417.98
7.1.70.0032.49816.84
7.1.60.0032.49817.43
7.1.50.0032.49816.84
7.0.200.0072.49416.73
5.4.220.0272.43319.05
5.4.210.0202.42719.01
5.4.200.0332.41319.01
5.4.190.0232.40319.02
5.4.180.0302.41719.01
5.4.170.0102.43719.17
5.4.160.0172.44319.04
5.4.150.0102.40319.09
5.4.140.0302.40716.34
5.4.130.0232.32716.56
5.4.120.0072.47016.31
5.4.110.0232.44016.25
5.4.100.0072.46316.25
5.4.90.0032.43716.40
5.4.80.0232.44016.47
5.4.70.0172.39716.32
5.4.60.0202.44316.23
5.4.50.0072.46016.23
5.4.40.0202.43316.31
5.4.30.0132.42316.41
5.4.20.0102.45716.43
5.4.10.0172.47016.21
5.4.00.0302.40315.84
5.3.270.0030.05714.65
5.3.260.0070.05014.65
5.3.250.0170.07014.61
5.3.240.0070.05014.30
5.3.230.0170.04314.37
5.3.220.0100.06314.34
5.3.210.0030.06314.44
5.3.200.0030.05314.34
5.3.190.0100.05014.27
5.3.180.0100.04314.58
5.3.170.0030.05314.41
5.3.160.0070.05314.58
5.3.150.0030.05314.56
5.3.140.0100.06714.48
5.3.130.0130.06714.55
5.3.120.0030.05714.55
5.3.110.0070.05314.43
5.3.100.0030.06313.95
5.3.90.0100.04313.89
5.3.80.0030.05014.06
5.3.70.0030.05013.86
5.3.60.0070.06713.89
5.3.50.0100.06713.96
5.3.40.0030.06313.96

preferences:
45.36 ms | 400 KiB | 5 Q