3v4l.org

run code in 300+ PHP versions simultaneously
<?php $memoryLimit = ini_get('memory_limit'); header('Content-Type: text/plain'); echo 'Reported memory limit is: ' . $memoryLimit . PHP_EOL; $memoryTarget = 0; // Attempt to massage out what this memory limit really is if (substr($memoryLimit, -1, 1) == 'M') { // MEGA $memoryTarget = substr($memoryLimit, 0, -1) * 1024 * 1024; } else if (substr($memoryLimit, -1, 1) == 'K') { // KILO } else { echo 'Sorry script does not support the memory limit'; exit; } echo $memoryTarget; $memoryBase = round(memory_get_usage() / 1024 / 1024, 2); echo 'Base point -> ' . memory_get_usage() . ' (' . $memoryBase . ' MB)' . PHP_EOL; $pattern = str_repeat('0123456789', 1000); $fill = str_repeat($pattern, 1); $counter = 1000; while ( $counter <= $memoryTarget / 10000) { unset($fill); $memoryBase = round(memory_get_usage() / 1024 / 1024, 2); echo 'Clear -> ' . memory_get_usage() . ' (' . $memoryBase . ' MB)' . PHP_EOL; echo $counter . ' x 1000 chars -> '; $fill = str_repeat($pattern, $counter); $memoryBase = round(memory_get_usage() / 1024 / 1024, 2); echo memory_get_usage() . ' (' . $memoryBase . ' MB)'. ' [' . $memory_pct = round($memoryBase / ($memoryTarget / 1024/1024) *100 , 1) . ' percent]' . PHP_EOL; $counter += 500; } echo PHP_EOL . 'If you can see this, the server allocated something close to ' . $memoryTarget . ' bytes' . PHP_EOL;

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.2.00.2320.05081.42
7.1.70.1120.05779.17
7.1.60.0880.07479.25
7.1.50.1000.08079.23
7.1.00.0570.13084.33
7.0.202.4670.03054.88
7.0.140.0470.13383.99
7.0.60.1400.09081.92
7.0.50.1200.09779.71
7.0.40.1730.15081.83
7.0.30.6570.08081.79
7.0.20.6000.15781.61
7.0.10.6030.09781.49
7.0.00.1400.09081.75
5.6.280.0500.13383.08
5.6.210.1370.16082.50
5.6.200.1730.13379.99
5.6.190.1470.15382.30
5.6.180.7570.09782.28
5.6.170.5270.13082.26
5.6.160.1430.09082.21
5.6.150.1270.09379.83
5.6.140.1330.09379.98
5.6.130.1600.12079.93
5.6.120.1370.10382.87
5.6.110.1430.13783.03
5.6.100.1830.13382.91
5.6.90.1330.15382.87
5.6.80.1400.07782.29
5.6.70.7400.13382.39
5.5.350.6600.15082.33
5.5.340.1100.11379.64
5.5.330.1600.14082.07
5.5.320.5900.10082.02
5.5.310.6370.14082.06
5.5.300.1500.13779.82
5.5.290.1570.11379.83
5.5.280.1370.09082.79
5.5.270.1630.08782.70
5.5.260.1530.13782.63
5.5.250.1400.15382.61
5.5.240.1230.11782.16
5.4.452.1370.25776.20
5.4.442.2430.22371.56
5.4.432.1670.30076.44
5.4.420.4930.00080.99
5.4.410.2830.26780.75
5.4.400.6470.27380.64
5.4.390.7170.31380.59
5.4.380.3800.26380.46
5.4.370.2670.15080.58
5.4.360.3100.14380.39
5.4.350.1070.14373.88
5.4.340.1220.13773.88
5.4.320.1290.12474.37
5.4.310.1010.13974.37
5.4.300.1430.14874.37
5.4.290.1510.12774.37
5.4.280.1320.13274.27
5.4.270.1310.13974.27
5.4.260.1370.12374.26
5.4.250.1340.13074.26
5.4.240.1210.14374.26
5.4.230.1400.13074.25
5.4.220.1320.15274.25
5.4.210.1350.12474.25
5.4.200.1370.12174.25
5.4.190.1180.13974.25
5.4.180.1370.12974.25
5.4.170.1270.13274.27
5.4.160.1540.14574.26
5.4.150.1400.12674.26
5.4.140.1290.14773.94
5.4.130.1270.14373.93
5.4.120.1460.13573.89
5.4.110.1440.13673.89
5.4.100.1320.15273.88
5.4.90.1660.15873.88
5.4.80.1640.15473.88
5.4.70.2220.18073.88
5.4.60.1740.16573.88
5.4.50.1320.14273.87
5.4.40.1210.13973.86
5.4.30.1320.12673.86
5.4.20.1350.11873.86
5.4.10.1220.13273.86
5.4.00.1290.14273.34
5.3.290.1220.14174.59
5.3.280.1380.12374.52
5.3.270.1270.13274.54
5.3.260.1200.13474.54
5.3.250.1310.12574.53
5.3.240.1220.13674.53
5.3.230.1270.13174.52
5.3.220.1270.14074.49
5.3.210.1240.14374.49
5.3.200.1360.12774.49
5.3.190.1250.13774.50
5.3.180.1320.13174.49
5.3.170.1410.13274.49
5.3.160.1280.12874.49
5.3.150.1270.13374.49
5.3.140.1470.12074.48
5.3.130.1280.13274.48
5.3.120.1230.14274.48
5.3.110.1380.12774.47
5.3.100.1430.12073.96
5.3.90.1440.11673.95
5.3.80.1380.13273.94
5.3.70.1440.12273.94
5.3.60.1320.13373.92
5.3.50.1390.13673.87
5.3.40.1740.16373.87
5.3.30.1330.13973.82
5.3.20.1830.13873.61
5.3.10.1400.16573.57
5.3.00.1350.13373.56
5.2.170.1320.12871.07
5.2.160.1400.12671.06
5.2.150.1180.14571.06
5.2.140.1260.12571.06
5.2.130.1440.11371.02
5.2.120.1220.12171.02
5.2.110.1250.12571.03
5.2.100.1410.11171.02
5.2.90.1270.12371.02
5.2.80.1280.13471.01
5.2.70.1400.13271.02
5.2.60.1240.13470.97
5.2.50.1520.12170.94
5.2.40.1360.13370.92
5.2.30.1300.13070.89
5.2.20.1240.13270.88
5.2.10.1260.12170.83
5.2.00.0040.0318.80
5.1.60.0030.0268.09
5.1.50.0020.0278.09
5.1.40.0020.0278.07
5.1.30.0040.0268.41
5.1.20.0050.0268.44
5.1.10.0060.0248.16
5.1.00.0040.0328.16
5.0.50.0030.0216.64
5.0.40.0030.0206.50
5.0.30.0030.0426.32
5.0.20.0060.0176.29
5.0.10.0040.0196.27
5.0.00.0020.0326.26
4.4.90.0040.0144.78
4.4.80.0030.0154.75
4.4.70.0020.0164.75
4.4.60.0030.0154.76
4.4.50.0030.0154.77
4.4.40.0040.0244.71
4.4.30.0040.0144.76
4.4.20.0030.0154.84
4.4.10.0040.0144.85
4.4.00.0030.0264.76
4.3.110.0020.0164.67
4.3.100.0040.0144.66
4.3.90.0030.0144.64
4.3.80.0030.0244.59
4.3.70.0030.0174.63
4.3.60.0020.0164.62
4.3.50.0010.0174.63
4.3.40.0030.0244.54
4.3.30.0010.0173.30
4.3.20.0000.0173.28
4.3.10.0010.0173.24
4.3.00.0030.0236.65

preferences:
34.14 ms | 401 KiB | 5 Q