3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php // тест для foreach function foreach_test($range) { // массив $array = range(1, $range); // старт $start = microtime(true); // обработка массива foreach ($array as &$value) { $value /= 2; } // финиш $finish = microtime(true); // время выполнения return round($finish - $start, 5); } // тест для array_walk function array_walk_test($range) { // массив $array = range(1, $range); // старт $start = microtime(true); // обработка array_walk($array, function(&$value){ $value /= 2; }); // финиш $finish = microtime(true); // время выполнения return round($finish - $start, 5); } // тесты $tests = array(1000); // выполнение тестов и результаты foreach ($tests as $range) { $ft = foreach_test($range); $awt = array_walk_test($range); $div = round($awt / $ft, 2); echo "Количество элементов: {$range} <br>"; echo "Время foreach: {$ft}с <br>"; echo "Время array_walk: {$awt}с <br>"; echo "foreach быстрей array_walk в {$div} раз <br><br>"; }

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)
7.2.00.0030.01319.42
7.1.70.0040.00417.08
7.1.60.0070.01019.31
7.1.50.0070.01317.04
7.1.00.0130.06722.28
7.0.200.0070.00016.95
7.0.140.0030.07322.07
7.0.110.0070.08319.96
7.0.100.0100.07319.99
7.0.90.0030.09020.06
7.0.80.0100.08720.11
7.0.70.0070.07319.87
7.0.60.0070.07720.10
7.0.50.0130.06020.28
7.0.40.0030.07720.24
7.0.30.0070.08319.96
7.0.20.0130.06020.08
7.0.10.0000.08720.24
7.0.00.0130.06320.27
5.6.280.0070.06321.15
5.6.260.0170.08020.67
5.6.250.0070.04720.71
5.6.240.0100.07020.77
5.6.230.0130.07320.59
5.6.220.0030.08020.68
5.6.210.0030.08020.71
5.6.200.0170.04721.14
5.6.190.0100.08021.14
5.6.180.0070.07721.06
5.6.170.0130.07021.17
5.6.160.0070.07721.32
5.6.150.0100.08021.06
5.6.140.0070.06721.22
5.6.130.0070.09021.11
5.6.120.0030.08721.22
5.6.110.0170.06721.21
5.6.100.0130.07321.21
5.6.90.0070.05321.16
5.6.80.0070.07320.40
5.6.70.0030.08320.40
5.6.60.0030.08020.33
5.6.50.0100.04720.51
5.6.40.0130.05020.34
5.6.30.0100.08020.32
5.6.20.0070.04720.67
5.6.10.0100.07020.34
5.6.00.0100.07720.56
5.5.380.0100.07720.55
5.5.370.0170.07020.40
5.5.360.0170.04720.38
5.5.350.0030.08720.49
5.5.340.0070.08720.98
5.5.330.0100.06320.97
5.5.320.0070.05020.82
5.5.310.0030.08720.88
5.5.300.0030.08320.88
5.5.290.0000.08720.88
5.5.280.0100.06720.94
5.5.270.0070.07720.97
5.5.260.0100.08320.98
5.5.250.0070.07020.55
5.5.240.0070.06020.26
5.5.230.0070.06720.31
5.5.220.0000.09020.31
5.5.210.0100.07720.38
5.5.200.0070.08020.23
5.5.190.0070.08320.41
5.5.180.0070.08020.27
5.5.160.0130.04020.33
5.5.150.0130.07320.24
5.5.140.0070.04720.33
5.5.130.0030.07020.13
5.5.120.0130.07320.35
5.5.110.0070.08020.12
5.5.100.0100.07720.09
5.5.90.0130.07320.07
5.5.80.0130.06720.11
5.5.70.0100.07720.16
5.5.60.0100.07320.21
5.5.50.0170.05720.17
5.5.40.0170.04720.07
5.5.30.0030.07320.10
5.5.20.0100.07320.02
5.5.10.0130.06020.26
5.5.00.0200.06320.25
5.4.450.0130.08019.41
5.4.440.0100.07019.57
5.4.430.0030.06719.55
5.4.420.0030.04019.55
5.4.410.0000.08019.67
5.4.400.0000.08319.16
5.4.390.0100.07319.34
5.4.380.0030.07019.04
5.4.370.0170.06319.09
5.4.360.0100.06319.05
5.4.350.0130.06319.20
5.4.340.0100.06719.34
5.4.320.0100.07319.34
5.4.310.0000.08019.07
5.4.300.0030.08019.09
5.4.290.0000.08319.23
5.4.280.0030.05319.06
5.4.270.0070.06719.09
5.4.260.0070.06319.14
5.4.250.0000.04319.17
5.4.240.0070.08019.30
5.4.230.0100.04319.22
5.4.220.0170.06719.01
5.4.210.0100.07019.17
5.4.200.0130.05019.25
5.4.190.0100.06719.30
5.4.180.0070.07719.06
5.4.170.0070.04719.00
5.4.160.0000.09018.99
5.4.150.0070.08319.23
5.4.140.0030.07716.41
5.4.130.0100.04716.60
5.4.120.0000.07716.60
5.4.110.0070.07716.43
5.4.100.0100.07016.37
5.4.90.0070.07016.64
5.4.80.0030.07016.54
5.4.70.0070.07316.41
5.4.60.0030.04716.60
5.4.50.0030.04716.59
5.4.40.0030.07016.59
5.4.30.0100.07016.63
5.4.20.0070.06016.59
5.4.10.0070.04316.68
5.4.00.0000.07715.87
5.3.290.0070.05014.93
5.3.280.0130.06314.87
5.3.270.0030.07014.84
5.3.260.0070.07714.77
5.3.250.0130.06714.89
5.3.240.0130.07314.82
5.3.230.0070.08014.68
5.3.220.0030.07314.72
5.3.210.0030.08314.69
5.3.200.0130.07714.79
5.3.190.0070.07014.73
5.3.180.0100.06314.80
5.3.170.0030.07714.70
5.3.160.0070.07314.86
5.3.150.0100.07714.78
5.3.140.0070.06714.92
5.3.130.0130.07014.67
5.3.120.0030.07714.61
5.3.110.0070.07314.67
5.3.100.0000.08014.38
5.3.90.0030.06314.18
5.3.80.0070.07314.22
5.3.70.0130.07014.23
5.3.60.0070.07014.15
5.3.50.0030.07314.22
5.3.40.0030.07314.08
5.3.30.0030.07713.90
5.3.20.0100.07313.81
5.3.10.0000.07313.82
5.3.00.0100.07013.81
5.2.170.0130.05312.09
5.2.160.0070.05312.09
5.2.150.0000.03712.09
5.2.140.0070.06012.09
5.2.130.0030.06012.09
5.2.120.0030.06012.09
5.2.110.0000.06312.09
5.2.100.0030.06712.09
5.2.90.0070.05712.09
5.2.80.0100.05312.09
5.2.70.0100.05312.09
5.2.60.0030.06712.09
5.2.50.0000.06312.09
5.2.40.0070.06012.09
5.2.30.0030.06012.09
5.2.20.0100.05312.09
5.2.10.0030.05012.09
5.2.00.0030.06312.09
5.1.60.0030.05312.09
5.1.50.0130.04312.09
5.1.40.0000.05712.09
5.1.30.0030.06012.09
5.1.20.0070.05012.09
5.1.10.0030.05712.09
5.1.00.0030.04312.09
5.0.50.0070.03312.09
5.0.40.0070.04012.09
5.0.30.0000.06712.09
5.0.20.0000.04312.09
5.0.10.0100.04012.09
5.0.00.0030.07012.09
4.4.90.0070.03012.09
4.4.80.0000.03312.09
4.4.70.0000.03312.09
4.4.60.0030.03312.09
4.4.50.0070.03012.09
4.4.40.0000.05712.09
4.4.30.0000.03712.09
4.4.20.0030.03712.09
4.4.10.0000.03712.09
4.4.00.0030.05012.09
4.3.110.0000.03712.09
4.3.100.0000.03312.09
4.3.90.0070.03012.09
4.3.80.0030.05012.09
4.3.70.0070.03012.09
4.3.60.0000.03312.09
4.3.50.0030.03712.09
4.3.40.0070.04312.09
4.3.30.0030.02012.09
4.3.20.0000.03712.09
4.3.10.0000.03712.09
4.3.00.0030.03312.09