3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = array(1,2,1,3,2,1,3,2,1,3,2,1,2,3,1,2,3); echo implode(" ", $a) . "\n"; $first = 0; $last = sizeof($a) - 1; for($i = $first; $i += 1; $i <= $last) { $v = $a[$i]; echo "Found $v at index $i\n"; if ($v == 1) { // swap($a, $i, $first); } if ($v == 3) { // swap($a, $i, $last); } } echo implode(" ", $a) . "\n"; function swap(&$arr, $k1, $k2) { echo "Swapping $k1 and $k2\n"; $tmp = $arr[$k2]; $arr[$k2] = $arr[$k1]; $arr[$k1] = $tmp; }

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.60.0200.00318.55
8.3.50.0200.01421.99
8.3.40.0120.00618.84
8.3.30.0180.00318.80
8.3.20.0060.00318.77
8.3.10.0080.00021.23
8.3.00.0060.00323.46
8.2.180.0130.00316.63
8.2.170.0100.01422.96
8.2.160.0130.00320.35
8.2.150.0090.00424.18
8.2.140.0050.00524.66
8.2.130.0080.00326.16
8.2.120.0110.00417.88
8.2.110.0030.00720.47
8.2.100.0060.00617.84
8.2.90.0070.00219.21
8.2.80.0060.00618.03
8.2.70.0070.00317.63
8.2.60.0070.00417.93
8.2.50.0050.00318.07
8.2.40.0070.00218.22
8.2.30.0000.00821.38
8.2.20.0030.00517.82
8.2.10.0030.00717.87
8.2.00.0040.00417.89
8.1.280.0000.01525.92
8.1.270.0090.00322.10
8.1.260.0100.00026.35
8.1.250.0000.00928.09
8.1.240.0030.00622.04
8.1.230.0060.00620.97
8.1.220.0030.00518.77
8.1.210.0000.00818.85
8.1.200.0060.00317.35
8.1.190.0060.00317.51
8.1.180.0100.00018.10
8.1.170.0040.00418.40
8.1.160.0000.00819.00
8.1.150.0040.00418.72
8.1.140.0080.00017.43
8.1.130.0070.00017.84
8.1.120.0050.00217.50
8.1.110.0050.00317.41
8.1.100.0040.00417.43
8.1.90.0000.00817.43
8.1.80.0070.00017.50
8.1.70.0000.00817.50
8.1.60.0040.00417.64
8.1.50.0020.00517.54
8.1.40.0030.00617.58
8.1.30.0000.00817.63
8.1.20.0070.00317.69
8.1.10.0040.00417.69
8.1.00.0080.00017.47
8.0.300.0040.00419.84
8.0.290.0030.01016.92
8.0.280.0030.00618.39
8.0.270.0080.00017.11
8.0.260.0030.00316.83
8.0.250.0080.00016.89
8.0.240.0030.00616.84
8.0.230.0050.00316.91
8.0.220.0070.00316.91
8.0.210.0030.00516.85
8.0.200.0040.00417.01
8.0.190.0040.00416.93
8.0.180.0000.00816.85
8.0.170.0030.00516.84
8.0.160.0000.00816.78
8.0.150.0030.00516.78
8.0.140.0040.00716.82
8.0.130.0000.01013.38
8.0.120.0040.00416.87
8.0.110.0030.00516.81
8.0.100.0040.00416.79
8.0.90.0000.00716.71
8.0.80.0060.01316.76
8.0.70.0060.00316.73
8.0.60.0040.00416.80
8.0.50.0040.00416.73
8.0.30.0230.02217.00
8.0.20.0360.02017.40
8.0.10.0040.00417.02
8.0.00.0300.01516.88
7.4.330.0030.00314.71
7.4.320.0000.00816.51
7.4.300.0000.01016.52
7.4.290.0050.00316.39
7.4.280.0040.00416.40
7.4.270.0040.00416.45
7.4.260.0040.00713.23
7.4.250.0080.00316.44
7.4.240.0040.00416.49
7.4.230.0040.00416.50
7.4.220.0130.01016.45
7.4.210.0090.01016.39
7.4.200.0060.00316.55
7.4.190.0060.00316.63
7.4.160.0500.01016.48
7.4.150.0110.01117.40
7.4.140.0290.02317.86
7.4.130.0140.01916.54
7.4.120.0280.01616.54
7.4.110.0070.01716.37
7.4.100.0180.00916.34
7.4.90.0160.01216.31
7.4.80.0160.02219.37
7.4.70.0070.01816.47
7.4.60.0800.03016.54
7.4.50.0060.01116.36
7.4.40.0040.01122.52
7.4.30.0630.00016.56
7.3.330.0000.00713.40
7.3.320.0320.01113.52
7.3.310.0040.00416.27
7.3.300.0000.00816.36
7.3.290.0120.01216.32
7.3.280.0160.01816.27
7.3.270.0560.01817.40
7.3.260.0590.02318.24
7.3.250.0110.01416.42
7.3.240.0120.00916.56
7.3.230.0260.01416.39
7.3.210.0200.00616.54
7.3.200.0060.01619.39
7.3.190.0130.01016.35
7.3.180.0530.01416.13
7.3.170.0550.04616.41
7.3.160.0060.02016.54
7.2.330.0270.00816.59
7.2.320.0070.02416.58
7.2.310.0100.01316.62
7.2.300.0170.01416.68
7.2.290.0820.03516.52
7.2.100.0260.00714.33
7.2.90.0140.01414.54
7.2.80.0180.01014.59
7.2.70.0350.01214.62
7.2.60.0610.01614.77
7.2.50.1700.00314.68
7.2.40.0150.01115.00
7.2.30.1560.01014.86
7.2.20.0220.00714.80
7.2.10.2130.02014.54
7.2.00.1900.00314.98
7.1.220.1920.01614.02
7.1.210.0260.01013.65
7.1.200.0300.00313.94
7.1.190.0320.01313.86
7.1.180.1850.00713.60
7.1.170.1800.01313.77
7.1.160.0180.00713.81
7.1.150.0270.00613.59
7.1.140.0110.01113.73
7.1.130.0780.01013.76
7.1.120.0150.00813.46
7.1.110.0120.00213.79
7.1.100.0660.00613.76
7.1.90.0210.00913.59
7.1.80.0300.01013.71
7.1.70.0040.01913.77
7.1.60.0280.00732.10
7.1.50.2780.00331.88
7.1.40.1970.01632.11
7.1.30.0400.00832.13
7.1.20.0300.01331.78
7.1.10.1240.01613.79
7.1.00.0100.00513.48
7.0.310.1830.01013.45
7.0.300.1730.01313.45
7.0.290.0420.01013.44
7.0.280.0270.01213.52
7.0.270.0130.01313.44
7.0.260.0440.00013.44
7.0.250.0180.00013.44
7.0.240.0080.01213.46
7.0.230.0670.00313.44
7.0.220.0160.00413.44
7.0.210.0130.01313.44
7.0.200.0100.01013.44
7.0.190.0230.00713.44
7.0.180.2060.00613.44
7.0.170.0160.00413.45
7.0.160.0090.00813.44
7.0.150.1820.01313.48
7.0.140.0090.01213.44
7.0.130.0530.01413.68
7.0.120.0180.01713.68
7.0.110.0110.00513.73
7.0.100.0150.00613.76
7.0.90.0190.00813.79
7.0.80.0070.00913.44
7.0.70.2170.02113.45
7.0.60.0690.00713.50
7.0.50.0170.00713.53
7.0.40.0800.00313.48
7.0.30.1600.00413.49
7.0.20.0130.00613.44
7.0.10.0560.01613.68
7.0.00.1180.00913.44
5.6.380.0040.01714.52
5.6.370.0180.00614.13
5.6.360.0180.00314.46
5.6.350.0130.00414.41
5.6.340.0090.01214.19
5.6.330.0120.00314.14
5.6.320.0060.00914.39
5.6.310.0110.00713.98
5.6.300.0070.00714.16
5.6.290.0030.01014.27
5.6.280.0110.01114.19
5.6.270.0120.00314.10
5.6.260.0000.01914.47
5.6.250.0030.01314.35
5.6.240.0140.00614.41
5.6.230.0140.00614.43
5.6.220.0070.01314.37
5.6.210.0040.01214.44
5.6.200.0170.00314.15
5.6.190.0200.00714.31
5.6.180.0030.01314.30
5.6.170.0150.00414.50
5.6.160.0070.01013.85
5.6.150.0090.00914.05
5.6.140.0090.01214.29
5.6.130.0090.00714.16
5.6.120.0050.01113.96
5.6.110.0100.00513.96
5.6.100.0060.01214.03
5.6.90.0130.00614.14
5.5.380.0130.00713.44
5.5.370.0080.00613.44
5.5.360.0090.00913.44
5.5.350.0170.00213.44
5.5.340.0000.01313.44
5.5.330.0080.00413.44
5.5.320.0040.01713.44
5.5.310.0130.00013.44
5.5.300.0060.00613.44
5.5.290.0080.00813.44
5.5.280.0000.01613.44
5.5.270.0070.00713.44
5.5.260.0090.00913.44
5.4.450.0100.00313.44
5.4.440.0070.01113.44
5.4.430.0100.00713.44
5.4.420.0000.01613.44

preferences:
44.03 ms | 401 KiB | 5 Q