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.0260.01016.63
8.3.50.0140.01317.21
8.3.40.0370.00419.02
8.3.30.0200.00818.70
8.3.20.0070.00418.94
8.3.10.0080.00318.77
8.3.00.0040.00719.38
8.2.180.0270.00416.38
8.2.170.0200.02022.96
8.2.160.0310.00018.93
8.2.150.0040.00824.18
8.2.140.0100.00024.66
8.2.130.0150.00226.16
8.2.120.0100.00019.66
8.2.110.0310.00519.33
8.2.100.0070.00717.97
8.2.90.0140.00019.21
8.2.80.0030.00618.05
8.2.70.0040.00717.75
8.2.60.0060.00317.93
8.2.50.0000.00818.07
8.2.40.0030.00619.82
8.2.30.0000.01118.07
8.2.20.0040.00817.94
8.2.10.0110.00017.75
8.2.00.0130.00817.80
8.1.280.0140.00325.92
8.1.270.0140.00523.99
8.1.260.0060.00326.35
8.1.250.0040.00428.09
8.1.240.0110.00420.72
8.1.230.0090.00318.95
8.1.220.0030.00617.75
8.1.210.0080.00318.77
8.1.200.0100.00317.35
8.1.190.0040.00417.48
8.1.180.0030.00719.13
8.1.170.0050.00518.71
8.1.160.0080.00218.82
8.1.150.0060.00319.01
8.1.140.0030.00617.43
8.1.130.0060.00317.39
8.1.120.0060.00317.54
8.1.110.0060.00317.54
8.1.100.0030.00617.56
8.1.90.0040.00417.52
8.1.80.0000.00917.43
8.1.70.0040.00417.41
8.1.60.0000.01017.63
8.1.50.0050.00217.41
8.1.40.0060.00317.55
8.1.30.0060.00317.66
8.1.20.0080.00417.67
8.1.10.0090.00017.54
8.1.00.0030.00617.52
8.0.300.0070.00318.77
8.0.290.0000.00916.63
8.0.280.0040.00418.32
8.0.270.0030.00617.18
8.0.260.0040.00416.87
8.0.250.0070.00216.95
8.0.240.0050.00516.91
8.0.230.0080.00316.79
8.0.220.0050.00816.79
8.0.210.0180.00016.91
8.0.200.0070.00416.86
8.0.190.0110.00016.95
8.0.180.0040.00416.95
8.0.170.0060.00316.92
8.0.160.0030.00616.99
8.0.150.0000.01216.89
8.0.140.0060.00316.79
8.0.130.0030.00313.37
8.0.120.0040.00416.72
8.0.110.0000.01216.74
8.0.100.0000.01116.73
8.0.90.0070.00416.88
8.0.80.0030.01716.82
8.0.70.0040.00416.83
8.0.60.0050.00516.68
8.0.50.0040.00416.72
8.0.30.0470.01616.93
8.0.20.0340.00917.01
8.0.10.0060.00316.95
8.0.00.0270.01216.69
7.4.330.0040.00412.97
7.4.320.0040.00416.53
7.4.300.0080.00016.48
7.4.290.0040.00816.33
7.4.280.0090.00016.44
7.4.270.0030.00616.31
7.4.260.0070.00413.30
7.4.250.0000.00916.34
7.4.240.0020.00516.39
7.4.230.0030.00616.55
7.4.220.0270.01716.52
7.4.210.0170.01016.25
7.4.200.0000.00916.36
7.4.190.0060.00316.56
7.4.160.0100.01416.37
7.4.150.0440.01816.45
7.4.140.0130.01317.86
7.4.130.0280.02116.29
7.4.120.0220.01016.61
7.4.110.0320.00516.38
7.4.100.0440.01616.57
7.4.90.0100.02016.42
7.4.80.0440.01419.39
7.4.70.0180.01016.39
7.4.60.0090.01516.54
7.4.50.0060.00316.38
7.4.40.0070.00816.32
7.4.30.0450.02516.40
7.3.330.0030.00913.22
7.3.320.0000.00813.40
7.3.310.0080.00816.26
7.3.300.0070.00016.16
7.3.290.0150.01816.34
7.3.280.0070.01416.31
7.3.270.0250.03116.50
7.3.260.0530.03316.56
7.3.240.0250.02416.32
7.3.230.0120.02216.36
7.3.210.0450.01116.52
7.3.200.0230.01916.58
7.3.190.0740.02816.48
7.3.180.0230.01516.39
7.3.170.0120.01516.39
7.3.160.0230.01216.38
7.2.330.0170.00716.75
7.2.320.0520.01416.84
7.2.310.0320.01716.73
7.2.300.0120.00916.62
7.2.290.0300.01116.79
7.2.100.2500.00714.63
7.2.90.0130.00714.67
7.2.80.1890.00014.65
7.2.70.1820.01514.66
7.2.60.1230.00315.13
7.2.50.1520.00715.08
7.2.40.0150.00714.88
7.2.30.1790.00514.96
7.2.20.0200.01014.56
7.2.10.2080.00914.87
7.2.00.1820.00315.10
7.1.220.2790.01213.96
7.1.210.0520.00613.99
7.1.200.2570.00613.92
7.1.190.1960.00913.86
7.1.180.0080.00813.76
7.1.170.1560.01413.73
7.1.160.1360.00913.96
7.1.150.1800.00313.99
7.1.140.0180.00713.86
7.1.130.1570.00613.77
7.1.120.1290.00313.79
7.1.110.1580.00313.94
7.1.100.0150.01113.93
7.1.90.2130.00013.90
7.1.80.1780.01513.79
7.1.70.0180.00413.87
7.1.60.0390.00632.09
7.1.50.0340.00732.23
7.1.40.1810.00632.03
7.1.30.2180.00331.71
7.1.20.2240.01631.93
7.1.10.0210.00713.59
7.1.00.1210.00313.85
7.0.310.1490.00013.55
7.0.300.0720.00313.40
7.0.290.0100.01013.52
7.0.280.0040.01313.57
7.0.270.1660.00013.45
7.0.260.1570.00613.28
7.0.250.1720.01213.46
7.0.240.0160.00813.46
7.0.230.1840.00513.58
7.0.220.1800.01813.49
7.0.210.0820.00813.55
7.0.200.1920.00913.49
7.0.190.0120.00913.57
7.0.180.1860.00613.58
7.0.170.1930.00613.46
7.0.160.2030.00913.25
7.0.150.0240.00013.48
7.0.140.0220.00913.30
7.0.130.2650.01313.64
7.0.120.2500.00313.46
7.0.110.0980.00713.70
7.0.100.0110.00513.88
7.0.90.0160.00813.48
7.0.80.0180.00313.36
7.0.70.3350.00713.60
7.0.60.2740.01013.47
7.0.50.2500.00713.44
7.0.40.1010.01013.80
7.0.30.0080.01213.71
7.0.20.2380.01113.55
7.0.10.2180.01613.47
7.0.00.2170.00713.63
5.6.380.0140.00914.46
5.6.370.0090.00514.57
5.6.360.0160.00014.36
5.6.350.0050.01414.11
5.6.340.0100.01414.48
5.6.330.0030.01614.10
5.6.320.0180.00614.48
5.6.310.0100.00714.49
5.6.300.0090.01514.54
5.6.290.0130.00914.43
5.6.280.0120.01114.52
5.6.270.0140.00514.23
5.6.260.0100.01014.09
5.6.250.0000.01814.51
5.6.240.0080.00814.50
5.6.230.0050.01014.28
5.6.220.0140.00514.18
5.6.210.0100.01914.53
5.6.200.0090.00914.17
5.6.190.0120.00614.38
5.6.180.0110.01114.25
5.6.170.0030.01214.26
5.6.160.0180.00014.17
5.6.150.0120.00414.35
5.6.140.0100.00714.54
5.6.130.0070.01214.25
5.6.120.0100.01014.48
5.6.110.0100.00814.45
5.6.100.0100.00714.48
5.6.90.0080.01014.39
5.5.380.0080.01112.11
5.5.370.0000.01512.11
5.5.360.0070.01412.11
5.5.350.0080.00512.11
5.5.340.0030.01412.11
5.5.330.0040.00812.11
5.5.320.0030.01312.11
5.5.310.0030.01412.11
5.5.300.0160.00312.11
5.5.290.0000.01212.11
5.5.280.0190.00012.11
5.5.270.0090.00612.11
5.5.260.0070.00712.11
5.4.450.0090.00612.11
5.4.440.0030.01012.11
5.4.430.0070.00712.11
5.4.420.0120.00212.11

preferences:
71.06 ms | 401 KiB | 5 Q