3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Collection { private $a = []; public function __construct() { for ($i = 0; $i < 1000000; $i++) { $this->a[] = $i; } } public function all() { return $this->a; } } $coll = new Collection(); $start = microtime(true); foreach ($coll->all() as $k => $v) { $a[$k] = $v + 1; } echo "Completed in ", microtime(true) - $start, " Seconds\n"; $start = microtime(true); $arr = $coll->all(); foreach ($arr as $k => &$v) { $v = $v + 1; } echo "Completed in ", microtime(true) - $start, " Seconds\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)
7.4.10.0630.05662.61
7.4.00.0470.07762.32
7.3.130.0510.09162.50
7.3.120.0510.07462.47
7.3.110.0530.06462.47
7.3.100.0410.05962.29
7.3.90.0400.05962.40
7.3.80.0340.06962.50
7.3.70.0380.06562.34
7.3.60.0430.07062.37
7.3.50.0470.05562.36
7.3.40.0230.07562.33
7.3.30.0440.05462.38
7.3.20.0440.04966.55
7.3.10.0450.06966.47
7.3.00.0390.06066.60
7.2.260.0400.10362.72
7.2.250.0370.10762.46
7.2.240.0540.05262.49
7.2.230.0480.06262.78
7.2.220.0350.08262.56
7.2.210.0490.06162.38
7.2.200.0430.06862.65
7.2.190.0440.07062.29
7.2.180.0500.06662.52
7.2.170.0420.06362.49
7.2.160.0480.07562.41
7.2.150.0380.07266.65
7.2.140.0260.07366.74
7.2.130.0340.06866.61
7.2.120.0400.07166.72
7.2.110.0890.07066.73
7.2.100.0340.06666.72
7.2.90.0330.06366.74
7.2.80.0320.06066.51
7.2.70.0410.06366.74
7.2.60.0550.06466.53
7.2.50.0280.06766.71
7.2.40.0250.06266.61
7.2.30.0540.06466.61
7.2.20.0600.05866.61
7.2.10.0130.08166.46
7.2.00.0430.05867.46
7.1.330.0180.10965.52
7.1.320.0200.11065.81
7.1.310.0310.09965.70
7.1.300.0250.10265.56
7.1.290.0380.09865.75
7.1.280.0350.09965.68
7.1.270.0290.11365.78
7.1.260.0280.11665.54
7.1.250.0230.13365.49
7.1.240.0370.09065.60
7.1.230.0340.08865.34
7.1.220.0230.11365.62
7.1.210.0230.09765.72
7.1.200.0230.09765.46
7.1.190.0230.09865.84
7.1.180.0170.09365.65
7.1.170.2950.08665.77
7.1.160.0300.09465.71
7.1.150.0100.12465.84
7.1.140.0270.10665.74
7.1.130.0160.12365.62
7.1.120.0310.11865.40
7.1.110.0350.12765.78
7.1.100.0530.09165.83
7.1.90.0330.10265.52
7.1.80.0270.11765.72
7.1.70.0200.07966.41
7.1.60.0270.09466.40
7.1.50.0330.08666.45
7.1.40.0560.09065.48
7.1.30.0510.10565.59
7.1.20.0240.10965.74
7.1.10.0380.10265.50
7.1.00.0250.12768.92
7.0.330.0270.13365.17
7.0.320.0170.10365.32
7.0.310.0130.11665.29
7.0.300.0200.11565.38
7.0.290.0100.14665.42
7.0.280.0330.09565.09
7.0.270.0260.12565.49
7.0.260.0270.12065.26
7.0.250.0380.13165.21
7.0.240.0430.11365.26
7.0.230.0350.12565.17
7.0.220.0320.12165.26
7.0.210.0300.11265.37
7.0.200.3230.09764.96
7.0.190.0240.10965.16
7.0.180.0420.11265.42
7.0.170.0180.11965.31
7.0.160.0170.12165.47
7.0.150.0290.11165.27
7.0.140.0100.13268.39
7.0.130.0200.12465.25
7.0.120.0260.11065.25
7.0.110.0130.11565.22
7.0.100.0350.11965.18
7.0.90.0310.10365.21
7.0.80.0420.11765.31
7.0.70.0300.10365.43
7.0.60.0350.12066.46
7.0.50.0320.10365.40
7.0.40.0350.12864.80
7.0.30.1130.10664.85
7.0.20.0850.10864.93
7.0.10.0260.10564.93
7.0.00.0320.12864.89
5.6.400.0590.12278.84
5.6.390.0340.12878.78
5.6.380.0170.14979.04
5.6.370.0460.15979.26
5.6.360.0330.12279.15
5.6.350.0400.15278.91
5.6.340.0630.14979.07
5.6.330.0560.12579.20
5.6.320.0200.00711.37
5.6.310.0570.13578.97
5.6.300.0330.14879.07
5.6.290.0380.15379.24
5.6.280.0450.14882.44
5.6.270.0310.14678.82
5.6.260.0510.12279.16
5.6.250.0580.12478.92
5.6.240.0410.14879.14
5.6.230.0400.13679.16
5.6.220.0550.13979.04
5.6.210.0410.14382.09
5.6.200.0440.15280.94
5.6.190.0410.15082.06
5.6.180.0460.13582.14
5.6.170.0430.13882.06
5.6.160.0270.12682.13
5.6.150.0330.13080.91
5.6.140.0360.13975.20
5.6.130.0370.12880.96
5.6.120.0370.13082.31
5.6.110.0340.15082.43
5.6.100.0340.13382.32
5.6.90.0430.14182.34
5.6.80.0330.16781.92
5.6.70.0170.16179.11
5.6.60.0240.14678.89
5.6.50.0450.12979.01
5.6.40.0540.13779.13
5.6.30.0240.14378.91
5.6.20.0360.14779.04
5.6.10.0290.14878.93
5.6.00.0440.13378.79
5.5.380.0560.13679.13
5.5.370.0540.12879.11
5.5.360.0490.13379.27
5.5.350.0430.14382.16
5.5.340.0270.13180.95
5.5.330.0350.12581.96
5.5.320.0560.13981.95
5.5.310.0550.13582.08
5.5.300.0330.16580.78
5.5.290.0450.14380.85
5.5.280.0280.13482.23
5.5.270.0340.16982.26
5.5.260.0370.13282.33
5.5.250.0460.11082.22
5.5.240.2170.12482.00
5.5.230.0530.12878.99
5.5.220.0430.14878.75
5.5.210.0440.13178.97
5.5.200.0520.14479.35
5.5.190.0450.13179.10
5.5.180.0310.14278.95
5.5.170.0440.14679.11
5.5.160.0360.14878.89
5.5.150.0410.13478.91
5.5.140.0400.14678.86
5.5.130.0510.17378.80
5.5.120.0380.13478.99
5.5.110.0610.11479.11
5.5.100.0320.17778.84
5.5.90.0620.14279.06
5.5.80.0430.12979.13
5.5.70.0460.13078.93
5.5.60.0490.13179.08
5.5.50.0420.13878.94
5.5.40.0410.15478.77
5.5.30.0650.11479.02
5.5.20.0500.14479.16
5.5.10.0530.12178.66
5.5.00.0450.12878.85
5.4.450.0360.14979.88
5.4.440.0280.13879.86
5.4.430.0400.12579.91
5.4.420.0300.12779.74
5.4.410.0250.13779.85
5.4.400.0380.13379.58
5.4.390.0550.12179.74
5.4.380.0290.12579.74
5.4.370.0330.13679.66
5.4.360.0320.12979.87
5.4.350.0420.11779.50
5.4.340.0350.11179.60
5.4.330.0590.12475.90
5.4.320.0430.10379.56
5.4.310.0230.14579.67
5.4.300.0390.11779.63
5.4.290.0360.11579.51
5.4.280.0460.10179.84
5.4.270.0340.11579.77
5.4.260.0280.12479.54
5.4.250.0410.11479.49
5.4.240.0230.12679.78
5.4.230.0280.12279.72
5.4.220.0240.13579.61
5.4.210.0420.11179.68
5.4.200.0350.13879.72
5.4.190.0240.16479.54
5.4.180.0280.13179.57
5.4.170.0400.13079.75
5.4.160.0410.15279.57
5.4.150.0270.15379.64
5.4.140.0390.12478.29
5.4.130.0420.13078.28
5.4.120.0340.13878.37
5.4.110.0330.14878.21
5.4.100.0410.13578.34
5.4.90.0380.13478.31
5.4.80.0360.13378.42
5.4.70.0350.14478.23
5.4.60.0350.16178.19
5.4.50.0400.11078.29
5.4.40.0280.14978.43
5.4.30.0380.13278.42
5.4.20.0350.14778.19
5.4.10.0250.16178.35
5.4.00.0300.13878.17
5.3.290.0060.02112.52
5.3.280.0080.02012.43
5.3.270.0040.02312.45
5.3.260.0100.02312.45
5.3.250.0110.03712.46
5.3.240.0130.04112.39
5.3.230.0090.04012.48
5.3.220.0100.03912.46
5.3.210.0040.04412.44
5.3.200.0100.03712.45
5.3.190.0070.03912.46
5.3.180.0100.04012.45
5.3.170.0070.03812.53
5.3.160.0080.04412.49
5.3.150.0080.04312.48
5.3.140.0090.04112.49
5.3.130.0100.04012.44
5.3.120.0090.02712.50
5.3.110.0060.04512.41
5.3.100.0050.02312.20
5.3.90.0120.01612.22
5.3.80.0110.03612.15
5.3.70.0070.03212.17
5.3.60.0070.04212.23
5.3.50.0050.02512.12
5.3.40.0020.04712.20
5.3.30.0090.02412.08
5.3.20.0070.03311.97
5.3.10.0060.03111.92
5.3.00.0090.03211.93
5.2.170.0000.05311.06
5.2.160.0070.06011.11
5.2.150.0030.06711.29
5.2.140.0030.03311.13
5.2.130.0070.06311.04
5.2.120.0030.04311.15
5.2.110.0030.03711.09
5.2.100.0030.06311.05
5.2.90.0030.06311.13
5.2.80.0030.04011.24
5.2.70.0030.05711.01
5.2.60.0030.05711.04
5.2.50.0100.05710.95
5.2.40.0030.05711.02
5.2.30.0070.03710.95
5.2.20.0070.04711.01
5.2.10.0000.04010.82
5.2.00.0070.06010.76
5.1.60.0030.0379.96
5.1.50.0030.0379.96
5.1.40.0070.05310.04
5.1.30.0000.06010.29
5.1.20.0130.03710.24
5.1.10.0000.0609.97
5.1.00.0030.05310.08
5.0.50.0170.0338.68
5.0.40.0030.0278.54
5.0.30.0000.0378.13
5.0.20.0030.0478.22
5.0.10.0030.0408.31
5.0.00.0000.0608.20
4.4.90.0070.0177.79
4.4.80.0070.0307.79
4.4.70.0000.0337.79
4.4.60.0000.0377.79
4.4.50.0030.0377.79
4.4.40.0030.0537.79
4.4.30.0070.0177.79
4.4.20.0030.0337.79
4.4.10.0000.0337.79
4.4.00.0030.0507.79
4.3.110.0030.0277.79
4.3.100.0000.0177.79
4.3.90.0000.0277.79
4.3.80.0030.0277.79
4.3.70.0000.0307.79
4.3.60.0030.0207.79
4.3.50.0030.0337.79
4.3.40.0030.0337.79
4.3.30.0000.0307.79
4.3.20.0000.0207.79
4.3.10.0000.0207.79
4.3.00.0000.0207.79

preferences:
45.88 ms | 400 KiB | 5 Q