3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = array(); // Preparing test data array for ($i=0;$i<200;$i++) { for ($j=0;$j<500;$j++) { $data['some']['keys'][$i]['should not']['matter'][$j] = $i . ' - ' . $j; } if (memory_get_usage() > 50000000) break; } echo "Created $i elements\n"; function formatBytes($bytes, $precision = 2) { $units = array('B', 'KB', 'MB', 'GB', 'TB'); $bytes = max($bytes, 0); $pow = floor(($bytes ? log($bytes) : 0) / log(1024)); $pow = min($pow, count($units) - 1); return round($bytes / (1 << (10 * $pow)), $precision) . ' ' . $units[$pow]; } $start_usage = memory_get_usage(); $start_peak = memory_get_peak_usage(); $s = serialize($data); $usage = memory_get_usage(); $peak = memory_get_peak_usage(); echo "Serialize started at " . formatBytes($start_usage) . " usage and " . formatBytes($start_peak) . " peak\n"; echo "Peak usage increased by " . formatBytes($peak - $start_peak) . "\n"; echo "Actual usage increased by " . formatBytes($usage - $start_usage) . "\n"; echo "Resulting string size " . formatBytes(strlen($s)) . "\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.2.00.0060.04131.14
7.1.70.0070.04129.00
7.1.60.0160.04929.03
7.1.50.0130.03928.89
7.1.00.0070.10334.39
7.0.200.0110.01828.76
7.0.60.0130.10732.62
7.0.50.0170.10330.47
7.0.40.0030.10320.35
7.0.30.0270.06320.48
7.0.20.0200.05720.35
7.0.10.0100.10320.48
7.0.00.0070.08720.31
5.6.280.0000.10051.42
5.6.210.0270.12051.12
5.6.200.0100.09748.55
5.6.190.0330.13750.81
5.6.180.0570.13350.78
5.6.170.0470.12050.73
5.6.160.0070.10750.68
5.6.150.0170.10748.58
5.6.140.0230.14348.52
5.6.130.0130.14348.61
5.6.120.0270.15351.28
5.6.110.0000.10751.43
5.6.100.0270.15051.38
5.6.90.0230.13751.39
5.6.80.0130.16750.77
5.5.350.0270.15350.81
5.5.340.0130.17048.30
5.5.330.0100.16350.56
5.5.320.1530.10350.57
5.5.310.0430.15050.63
5.5.300.0130.14348.36
5.5.290.0200.15748.32
5.5.280.0130.17051.29
5.5.270.0200.11351.29
5.5.260.0200.15051.24
5.5.250.0030.11751.06
5.5.240.0230.15750.77
5.4.450.0930.16049.83
5.4.440.1230.16749.91
5.4.430.1170.16349.64
5.4.420.1070.13749.93
5.4.410.0930.15749.62
5.4.400.1370.20749.39
5.4.390.0830.15749.16
5.4.380.1200.16049.37
5.4.370.1030.17349.63
5.4.360.0930.15749.62
5.4.350.1070.14049.63
5.4.340.0870.16749.63
5.4.320.1070.21349.63
5.4.310.0930.14749.42
5.4.300.1070.14349.61
5.4.290.1030.12749.61
5.4.280.0900.16049.36
5.4.270.0970.14349.48
5.4.260.1130.19349.19
5.4.250.1000.15049.71
5.4.240.1200.20349.46
5.4.230.1170.22349.41
5.4.220.0930.16349.47
5.4.210.0870.15049.31
5.4.200.0900.14047.28
5.4.190.1100.12349.40
5.4.180.0870.14749.42
5.4.170.0900.16049.59
5.4.160.0970.15349.52
5.4.150.1230.22349.28
5.4.140.0930.15346.70
5.4.130.1100.23746.72
5.4.120.1130.16346.78
5.4.110.1200.21346.71
5.4.100.1000.15346.80
5.4.90.1170.15746.78
5.4.80.1070.15346.78
5.4.70.1200.19346.77
5.4.60.1200.15746.67
5.4.50.1170.18746.90
5.4.40.1030.17346.67
5.4.30.0930.14746.91
5.4.20.0970.14746.66
5.4.10.1000.13347.06
5.4.00.0930.15346.16
5.3.290.1000.14043.73
5.3.280.0930.16043.84
5.3.270.0970.15743.55
5.3.260.1000.14743.85
5.3.250.1070.19043.50
5.3.240.1230.18343.63
5.3.230.1330.15743.67
5.3.220.0800.18043.52
5.3.210.0900.18043.57
5.3.200.1000.16343.60
5.3.190.1070.15343.59
5.3.180.0870.15343.46
5.3.170.1100.16343.49
5.3.160.0870.17343.56
5.3.150.1300.16743.56
5.3.140.0830.16043.50
5.3.130.0870.16343.46
5.3.120.1170.17743.47
5.3.110.1370.16043.64
5.3.100.1070.20342.93
5.3.90.1270.21043.04
5.3.80.0530.18342.96
5.3.70.0500.15742.96
5.3.60.1470.19042.94
5.3.50.0430.16742.98
5.3.40.0200.17042.97
5.3.30.0530.20342.86
5.3.20.0570.17042.67
5.3.10.0430.16043.90
5.3.00.0570.18043.65
5.2.170.0630.17739.30
5.2.160.0730.17339.31
5.2.150.0970.15739.38
5.2.140.0900.19039.30
5.2.130.0770.16739.22
5.2.120.0900.14039.32
5.2.110.0730.16339.30
5.2.100.1130.17339.34
5.2.90.1030.16039.27
5.2.80.1270.23739.30
5.2.70.1200.15040.13
5.2.60.1070.15039.11
5.2.50.1200.15039.12
5.2.40.0870.16740.15
5.2.30.1000.18338.95
5.2.20.0700.17739.00
5.2.10.0700.16045.57
5.2.00.0500.05010.73
5.1.60.0530.0339.99
5.1.50.0430.04010.03
5.1.40.0600.04310.01
5.1.30.0370.04310.27
5.1.20.0630.03710.36
5.1.10.0600.05310.26
5.1.00.0670.03310.07
5.0.50.0270.0308.55
5.0.40.0300.0308.42
5.0.30.0230.0538.34
5.0.20.0100.0308.21
5.0.10.0070.0278.13
5.0.00.0030.0578.27
4.4.90.0000.0307.16
4.4.80.0030.0237.16
4.4.70.0000.0277.16
4.4.60.0030.0237.16
4.4.50.0030.0237.16
4.4.40.0170.0407.16
4.4.30.0230.0237.16
4.4.20.0300.0307.16
4.4.10.0300.0307.16
4.4.00.0330.0537.16
4.3.110.0230.0377.16
4.3.100.0330.0307.16
4.3.90.0330.0237.16
4.3.80.0030.0477.16
4.3.70.0070.0307.16
4.3.60.0030.0237.16
4.3.50.0030.0277.16
4.3.40.0030.0377.16
4.3.30.0070.0207.16
4.3.20.0070.0237.16
4.3.10.0030.0277.16
4.3.00.0130.0237.27

preferences:
29.46 ms | 401 KiB | 5 Q