3v4l.org

run code in 300+ PHP versions simultaneously
<?php /*** Results on my machine *** php 7.2 array_filter: 2.5147440433502 foreach: 0.13733291625977 for i: 0.24090600013733 php 7.4 array_filter: 0.057109117507935 foreach: 0.021071910858154 for i: 0.027867078781128 **/ ini_set('memory_limit', '500M'); $data = range(0, 1000000); // ARRAY FILTER $start = microtime(true); $newData = array_filter($data, function ($item) { return $item % 2; }); $end = microtime(true); echo "array_filter: "; echo $end - $start . PHP_EOL; // FOREACH $start = microtime(true); $newData = array(); foreach ($data as $item) { if ($item % 2) { $newData[] = $item; } } $end = microtime(true); echo "foreach: "; echo $end - $start . PHP_EOL; // FOR $start = microtime(true); $newData = array(); $numItems = count($data); for ($i = 0; $i < $numItems; $i++) { if ($data[$i] % 2) { $newData[] = $data[$i]; } } $end = microtime(true); echo "for i: "; echo $end - $start . 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)
8.4.50.0890.06154.72
8.4.40.0570.07054.46
8.4.30.0640.06854.50
8.4.20.0500.05754.10
8.4.10.0530.05254.82
8.3.190.0670.05753.91
8.3.180.0560.06854.09
8.3.170.0680.06453.67
8.3.160.0560.05754.06
8.3.150.0430.05753.87
8.3.140.0480.05353.95
8.3.130.0670.05653.41
8.3.120.0450.06054.07
8.3.110.0590.05153.14
8.3.100.0570.05253.48
8.3.90.0570.04753.75
8.3.80.0780.06853.31
8.3.70.0650.06653.87
8.3.60.0490.05453.91
8.3.50.0700.06254.07
8.3.40.0350.00940.81
8.3.30.0270.01540.75
8.3.20.0310.01041.05
8.3.10.0230.01440.22
8.3.00.0270.01040.40
8.2.280.0420.05753.83
8.2.270.0640.06553.60
8.2.260.0720.06153.56
8.2.250.0510.04753.50
8.2.240.0640.06153.62
8.2.230.0560.05453.18
8.2.220.0660.07053.56
8.2.210.0600.06352.99
8.2.200.0550.04753.34
8.2.190.0460.05353.63
8.2.180.0500.05453.10
8.2.170.0290.01440.61
8.2.160.0470.01440.39
8.2.150.0290.01840.86
8.2.140.0230.01340.91
8.2.130.0390.01440.68
8.2.120.0490.01440.75
8.2.110.0520.02140.80
8.2.100.0400.02341.16
8.2.90.0270.02141.03
8.2.80.0280.02040.85
8.2.70.0340.01440.37
8.2.60.0250.02140.19
8.2.50.0230.02140.15
8.2.40.0210.02040.38
8.2.30.0230.02140.57
8.2.20.0230.01940.58
8.2.10.0220.02040.47
8.2.00.0230.01940.48
8.1.320.0830.05668.39
8.1.310.0720.05668.25
8.1.300.0800.06068.61
8.1.290.0980.06468.66
8.1.280.0930.06868.48
8.1.270.0100.00417.30
8.1.260.0220.00816.98
8.1.250.0240.00817.33
8.1.240.0240.00617.30
8.1.230.0180.00517.81
8.1.220.0180.00317.78
8.1.210.0260.00617.81
8.1.200.0220.00817.77
8.1.190.0160.00618.03
8.1.180.0130.00618.49
8.1.170.0140.00718.50
8.1.160.0120.00818.55
8.1.150.0140.00618.56
8.1.140.0130.00718.52
8.1.130.0140.00718.48
8.1.120.0130.00718.53
8.1.110.0130.00718.54
8.1.100.0140.00618.54
8.1.90.0130.00718.52
8.1.80.0150.00518.54
8.1.70.0150.00618.52
8.1.60.0170.00518.60
8.1.50.0170.00518.58
8.1.40.0170.00718.42
8.1.30.0150.00618.47
8.1.20.0150.00518.46
8.1.10.0700.09569.51
8.1.00.0580.10069.84
8.0.300.0540.09670.15
8.0.290.0750.08169.08
8.0.280.0650.08470.32
8.0.270.0600.09769.35
8.0.260.0680.09069.22
8.0.250.0580.09768.86
8.0.240.0700.08869.41
8.0.230.0590.09669.51
8.0.220.0640.09469.26
8.0.210.0660.09169.24
8.0.200.0570.09869.34
8.0.190.0630.09969.17
8.0.180.0680.09169.47
8.0.170.0660.09169.53
8.0.160.0580.10169.44
8.0.150.0720.08669.13
8.0.140.0630.09269.19
8.0.130.0620.09569.22
8.0.120.0630.09469.31
8.0.110.0650.09668.76
8.0.100.0680.08969.23
8.0.90.0650.09069.15
8.0.80.0550.09969.31
8.0.70.0610.09769.14
8.0.60.0580.09669.24
8.0.50.0620.09669.17
8.0.30.0560.09669.33
8.0.20.0790.11469.37
8.0.10.0770.12269.29
8.0.00.0640.11369.54
7.4.330.0600.09466.32
7.4.320.0570.09469.41
7.4.300.0690.08568.99
7.4.290.0620.08868.98
7.4.280.0600.09169.02
7.4.270.0620.09468.93
7.4.260.0600.09769.01
7.4.250.0660.09569.09
7.4.240.0670.09269.06
7.4.230.0680.09069.19
7.4.220.0590.09568.97
7.4.210.0540.10068.98
7.4.200.0540.09668.91
7.4.190.0690.08768.93
7.4.180.0540.09768.90
7.4.160.0600.09769.06
7.4.150.0720.10668.93
7.4.140.0740.11768.75
7.4.130.0670.10868.98
7.4.120.0750.11568.76
7.4.110.0740.11468.82
7.4.100.0720.12168.99
7.4.90.0730.11668.82
7.4.80.0650.11968.74
7.4.70.0720.12268.79
7.4.60.0790.12268.83
7.4.50.0740.11668.66
7.4.40.0700.11868.80
7.4.30.0700.11268.81
7.4.20.0700.11568.93
7.4.10.0740.13068.97
7.4.00.0660.12268.74
7.3.330.0560.10568.72
7.3.320.0550.09568.80
7.3.310.0540.09868.88
7.3.300.0540.09869.42
7.3.290.0610.08468.83
7.3.280.0570.08968.76
7.3.270.0580.11168.70
7.3.260.0600.10968.63
7.3.250.0650.10768.59
7.3.240.0620.10468.69
7.3.230.0680.12168.61
7.3.220.0660.11768.64
7.3.210.0700.12868.63
7.3.200.0770.12168.56
7.3.190.0660.12168.61
7.3.180.0710.11968.56
7.3.170.0690.11468.57
7.3.160.0740.11368.59
7.3.150.0700.12268.41
7.3.140.0670.11968.39
7.3.130.0680.11768.49
7.3.120.0640.12068.40
7.3.110.0700.12068.29
7.3.100.0630.12368.37
7.3.90.0620.12268.59
7.3.80.0700.12468.52
7.3.70.0700.11768.48
7.3.60.0700.11268.63
7.3.50.0720.12068.51
7.3.40.0710.11768.62
7.3.30.0680.11368.77
7.3.20.1240.12369.07
7.3.10.1190.12369.71
7.3.00.0950.12170.03
7.2.340.0510.12467.68
7.2.330.0630.12067.49
7.2.320.0560.13167.38
7.2.310.0610.12867.37
7.2.300.0580.12167.41
7.2.290.0540.12967.53
7.2.280.0650.13467.50
7.2.270.0530.12767.55
7.2.260.0560.12967.44
7.2.250.0670.12167.47
7.2.240.0620.12567.58
7.2.230.0590.12167.61
7.2.220.0600.12767.23
7.2.210.0590.12767.32
7.2.200.0600.12367.88
7.2.190.0580.12567.47
7.2.180.0590.12867.55
7.2.170.0620.12367.74
7.2.160.0560.12767.84
7.2.150.0840.12568.25
7.2.140.0880.12768.40
7.2.130.0740.12468.62
7.2.120.0670.13468.84
7.2.110.0660.13469.13
7.2.100.0600.12969.08
7.2.90.0540.12869.06
7.2.80.0620.12969.05
7.2.70.0570.12369.02
7.2.60.0580.12069.06
7.2.50.0550.12169.19
7.2.40.0580.12669.04
7.2.30.0600.12269.52
7.2.20.0610.12369.09
7.2.10.0560.12669.06
7.2.00.0590.12769.09

preferences:
87.98 ms | 403 KiB | 5 Q