3v4l.org

run code in 300+ PHP versions simultaneously
<?php $a = array( 0 => "foo", 1 => "bar", "animal" => "string", 3.13 => "pi", ); $loops = 1000000; printf("Control loop...\n"); $start = microtime(true); function process_array($a) { $s = ""; foreach ($a as $key=>$value) { $s .= "$key=>$value\n"; } } for ($i = 0; $i < $loops; $i++) process_array($a); $elapsed = microtime(true) - $start; printf("Elapsed: %.2f s\n\n", $elapsed); printf("Anonymous lambda function created once and called via reference...\n"); $start = microtime(true); $process_array_lambda = function($a) { $s = ""; foreach ($a as $key=>$value) { $s .= "$key=>$value\n"; } }; for ($i = 0; $i < $loops; $i++) $process_array_lambda($a); $elapsed = microtime(true) - $start; printf("Elapsed: %.2f s\n\n", $elapsed); printf("Anonymous lambda function called directly...\n"); $start = microtime(true); for ($i = 0; $i < $loops; $i++) (function($a) { $s = ""; foreach ($a as $key=>$value) { $s .= "$key=>$value\n"; } })($a); $elapsed = microtime(true) - $start; printf("Elapsed: %.2f s\n\n", $elapsed);

Abusive script

This script was stopped while abusing our resources

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.3.50.0151.37516.55
8.3.40.0271.42917.50
8.3.30.0271.40517.50
8.3.20.0301.36517.25
8.3.10.0171.03020.55
8.3.00.0231.04419.08
8.2.180.0301.30716.25
8.2.170.0371.46317.49
8.2.160.0171.42517.50
8.2.150.0331.45417.37
8.2.140.0120.87820.99
8.2.130.0271.05619.81
8.2.120.0201.01619.07
8.2.110.0181.06719.06
8.2.100.0181.03519.25
8.2.90.0231.07419.13
8.2.80.0201.03419.32
8.2.70.0101.02019.11
8.2.60.0221.03918.89
8.2.50.0170.96218.99
8.2.40.0251.08618.97
8.2.30.0130.97718.96
8.2.20.0170.99318.88
8.2.10.0251.04119.02
8.2.00.0221.00018.84
8.1.270.0170.97820.58
8.1.260.0171.01020.58
8.1.250.0221.05020.58
8.1.240.0201.06118.79
8.1.230.0231.03718.85
8.1.220.0231.02418.86
8.1.210.0201.00918.54
8.1.200.0180.99018.64
8.1.190.0220.99118.60
8.1.180.0181.01718.52
8.1.170.0171.00818.82
8.1.160.0251.06018.76
8.1.150.0121.10618.63
8.1.140.0131.03018.70
8.1.130.0161.11818.13
8.1.120.0150.99518.98
8.1.110.0170.99918.78
8.1.100.0230.94718.77
8.1.90.0170.99618.82
8.1.80.0081.18518.75
8.1.70.0111.15518.15
8.1.60.0051.15018.96
8.1.50.0151.11818.78
8.1.40.0131.10917.94
8.1.30.0131.12818.92
8.1.20.0131.10318.88
8.1.10.0101.10618.86
8.1.00.0131.13418.52
8.0.300.0211.17018.05
8.0.290.0171.16017.15
8.0.280.0301.21217.06
8.0.270.0201.16218.09
8.0.260.0311.05317.06
8.0.250.0201.08218.13
8.0.240.0201.07219.09
8.0.230.0221.21017.31
8.0.220.0121.03917.15
8.0.210.0131.13517.16
8.0.200.0181.07817.25
8.0.190.0221.05517.28
8.0.180.0151.00117.12
8.0.170.0251.01717.19
8.0.160.0181.03217.21
8.0.150.0201.05417.19
8.0.140.0221.07717.12
8.0.130.0201.01217.02
8.0.120.0251.02617.18
8.0.110.0221.02117.15
8.0.100.0271.07218.11
8.0.90.0221.09316.85
8.0.80.0121.04017.11
8.0.70.0151.03317.16
8.0.60.0171.05917.13
8.0.50.0281.00417.09
8.0.30.0191.40317.02
8.0.20.0171.02618.15
8.0.10.0200.97217.37
8.0.00.0071.24718.27
7.4.330.0201.02115.12
7.4.320.0171.06716.87
7.4.300.0151.07416.86
7.4.290.0251.02716.80
7.4.280.0251.08616.66
7.4.270.0271.04416.83
7.4.260.0301.04916.77
7.4.250.0201.04816.76
7.4.240.0251.01116.78
7.4.230.0281.06916.76
7.4.220.0201.01516.59
7.4.210.0231.15916.78
7.4.200.0201.23316.91
7.4.190.0251.07216.77
7.4.180.0231.20316.90
7.4.160.0441.37616.69
7.4.150.0251.15716.72
7.4.140.0201.13216.72
7.4.130.0241.47316.63
7.4.120.0201.31716.65
7.4.110.0211.28516.55
7.4.100.0161.30316.56
7.4.90.0161.24416.41
7.4.80.0211.26416.59
7.4.70.0181.32816.74
7.4.60.0221.24316.61
7.4.50.0201.33016.46
7.4.40.0171.26916.57
7.4.30.0171.22316.68
7.4.20.0151.23516.56
7.4.10.0191.24816.54
7.4.00.0201.28116.58
7.3.330.0171.11616.73
7.3.320.0301.14816.64
7.3.310.0231.14816.56
7.3.300.0171.14116.93
7.3.290.0181.14716.71
7.3.280.0261.14416.76
7.3.270.0231.11316.49
7.3.260.0321.14116.64
7.3.250.0191.41416.59
7.3.240.0191.36316.45
7.3.230.0221.38216.59
7.3.220.0121.29316.51
7.3.210.0241.29616.59
7.3.200.0211.28916.49
7.3.190.0191.42016.46
7.3.180.0191.31616.55
7.3.170.0201.34916.71
7.3.160.0281.27916.59
7.3.150.0171.25517.05
7.3.140.0131.26916.60
7.3.130.0321.31916.49
7.3.120.0181.39016.41
7.3.110.0141.34916.75
7.3.100.0171.37816.47
7.3.90.0231.27016.61
7.3.80.0261.28916.54
7.3.70.0141.34816.55
7.3.60.0141.32216.75
7.3.50.0111.28416.60
7.3.40.0211.28916.62
7.3.30.0221.36417.30
7.3.20.0151.29917.93
7.3.10.0231.31517.80
7.3.00.0321.36517.64

preferences:
47.74 ms | 1166 KiB | 5 Q