3v4l.org

run code in 300+ PHP versions simultaneously
<?php $numbers = range(32, 127); $numbersLetters = array_map('chr', $numbers); for (;;) { $numbersLetters = array_merge($numbersLetters, $numbersLetters); if (count($numbersLetters) > 1000) { break; } } $numbers = range(1, count($numbersLetters)); printf("Sample size: %d elements in 2 arrays (%d total) \n", count($numbers), count($numbers) + count($numbersLetters)); // =============================------------=============================== printf("Benchmarking speed in foreach + in_array() scenario... (this might take a while) "); shuffle($numbers); shuffle($numbersLetters); $t1 = microtime(true); foreach ($numbers as $number) { if (in_array($number, $numbersLetters)) {} } $t2 = microtime(true); printf("DONE!\n"); printf("Time elapsed: %.5f \n", $t2 - $t1); // =============================------------=============================== printf("Benchmarking speed in array as needle in in_array() scenario... "); shuffle($numbers); shuffle($numbersLetters); $t1 = microtime(true); var_dump(in_array($numbers, $numbersLetters)); $t2 = microtime(true); printf("DONE!\n"); printf("Time elapsed: %.5f \n", $t2 - $t1); // =============================------------=============================== printf("Benchmarking speed with array_intersect..."); shuffle($numbers); shuffle($numbersLetters); $t1 = microtime(true); array_intersect($numbers, $numbersLetters); $t2 = microtime(true); printf("DONE!\n"); printf("Time elapsed: %.5f \n", $t2 - $t1);

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.4.10.0130.11015.43
7.4.00.0130.08715.26
7.3.130.0030.11315.22
7.3.120.0030.11615.45
7.3.110.0100.09715.41
7.3.100.0030.10215.20
7.3.90.0070.07514.93
7.3.80.0070.07314.87
7.3.70.0030.07615.05
7.3.60.0030.07215.08
7.3.50.0070.07314.91
7.3.40.0070.07014.95
7.3.30.0070.08415.14
7.3.20.0070.07116.50
7.3.10.0100.07416.71
7.3.00.0120.07116.30
7.2.260.0070.09615.15
7.2.250.0110.09515.10
7.2.240.0030.08615.26
7.2.230.0030.07515.47
7.2.220.0130.07115.45
7.2.210.0070.08015.51
7.2.200.0100.06515.18
7.2.190.0070.06715.50
7.2.180.0070.07715.45
7.2.170.0000.07515.24
7.2.160.0100.06815.47
7.2.150.0030.07516.83
7.2.140.0100.06616.94
7.2.130.0050.08716.68
7.2.120.0080.08016.81
7.2.110.0090.07616.68
7.2.100.0080.06916.87
7.2.90.0080.08016.72
7.2.80.0100.07316.59
7.2.70.0110.07816.70
7.2.60.0080.06516.68
7.2.50.0100.07716.44
7.2.40.0130.08616.55
7.2.30.0130.07416.56
7.2.20.0100.07816.70
7.2.10.0070.07916.91
7.2.00.0090.06717.71
7.1.330.0070.07016.02
7.1.320.0030.08915.75
7.1.310.0030.07315.75
7.1.300.0030.06915.54
7.1.290.0100.07915.86
7.1.280.0000.07616.02
7.1.270.0000.07515.72
7.1.260.0000.07415.48
7.1.250.0050.08215.48
7.1.240.0070.06915.86
7.1.230.0030.07415.84
7.1.220.0070.06815.54
7.1.210.0000.08115.89
7.1.200.0000.08215.65
7.1.190.0070.06615.83
7.1.180.0070.06615.78
7.1.170.0030.07015.64
7.1.160.0030.07815.70
7.1.150.0030.07915.72
7.1.140.0070.07415.91
7.1.130.0030.06715.66
7.1.120.0100.06515.80
7.1.110.0000.07115.73
7.1.100.0080.05916.82
7.1.90.0070.07015.63
7.1.80.0070.07715.49
7.1.70.0070.05816.45
7.1.60.0350.05924.68
7.1.50.0230.07224.47
7.1.40.0330.07224.40
7.1.30.0320.06424.45
7.1.20.0230.07524.37
7.1.10.0530.07415.34
7.1.00.0350.09215.38
7.0.330.0000.06815.57
7.0.320.0030.07715.57
7.0.310.0100.06315.53
7.0.300.0030.06815.45
7.0.290.0030.07115.16
7.0.280.0000.07215.50
7.0.270.0030.06815.35
7.0.260.0000.07315.39
7.0.250.0030.07215.34
7.0.240.0030.07415.43
7.0.230.0000.07615.39
7.0.220.0030.06615.55
7.0.210.0000.07215.43
7.0.200.0330.07015.42
7.0.190.0230.07215.33
7.0.180.0330.07915.10
7.0.170.0180.06715.12
7.0.160.0230.07015.09
7.0.150.0200.07015.03
7.0.140.0200.06715.14
7.0.130.0200.06815.08
7.0.120.0250.06515.09
7.0.110.0220.07015.27
7.0.100.0170.07415.02
7.0.90.0250.06514.85
7.0.80.0220.06815.17
7.0.70.0220.07815.05
7.0.60.0230.06914.92
7.0.50.0220.06915.27
7.0.40.0280.07514.18
7.0.30.0300.06814.24
7.0.20.0270.06614.03
7.0.10.0220.07114.31
7.0.00.0270.06314.15
5.6.400.0070.09414.96
5.6.390.0000.09614.97
5.6.380.0030.09614.55
5.6.370.0070.09614.98
5.6.360.0070.09514.81
5.6.350.0000.09915.10
5.6.340.0070.09514.93
5.6.330.0000.10114.98
5.6.320.0070.11415.16
5.6.310.0030.11615.26
5.6.300.0070.09414.95
5.6.290.0030.09415.04
5.6.280.0070.09214.63
5.6.270.0070.09314.70
5.6.260.0100.09014.90
5.6.250.0070.08814.69
5.6.240.0000.09714.84
5.6.230.0060.09514.92
5.6.220.0130.10815.10
5.6.210.0070.09315.08
5.6.200.0070.09414.70
5.6.190.0070.09215.14
5.6.180.0030.09615.13
5.6.170.0100.08914.76
5.6.160.0070.14214.91
5.6.150.0100.10915.10
5.6.140.0060.09115.05
5.6.130.0030.09515.07
5.6.120.0070.09214.81
5.6.110.0100.08814.69
5.6.100.0000.10114.87
5.6.90.0100.09415.11
5.6.80.0000.09814.61
5.6.70.0070.09214.97
5.6.60.0070.09315.09
5.6.50.0030.09514.80
5.6.40.0070.09214.50
5.6.30.0000.12514.79
5.6.20.0100.08914.82
5.6.10.0030.09814.74
5.6.00.0070.09314.82

preferences:
35.3 ms | 401 KiB | 5 Q