3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Trial division function generatePrimesA($n) { $primes = [2]; for ($i = 3; $i < $n; $i += 2) { foreach ($primes as $prime) { if ($i % $prime == 0) { continue 2; } } $primes[] = $i; } return $primes; } // Sieve of Eratosthenes function generatePrimesB($max) { $primes = array_fill(2, $max - 1, true); for ($i = 2; pow($i, 2) < $max; $i++) { if ($primes[$i]) { for ($j = $i * $i; $j <= $max; $j += $i) { $primes[$j] = false; } } } return array_keys(array_filter($primes)); } // $a = microtime(1); // var_dump(count(generatePrimesA(100000))); // $a = microtime(1) - $a; $b = microtime(1); var_export(count(generatePrimesB(100000))); $b = microtime(1) - $b; // var_dump($a); var_dump($b);

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.00.0100.02318.58
7.3.120.0060.01918.57
7.3.110.0050.02118.62
7.3.100.0110.01018.68
7.3.90.0060.01718.61
7.3.80.0050.01318.65
7.3.70.0080.01018.67
7.3.60.0090.01518.60
7.3.50.0100.01018.40
7.3.40.0050.01518.67
7.3.30.0100.01218.34
7.3.20.0190.01120.57
7.3.10.0040.01620.47
7.3.00.0050.01420.64
7.2.250.0060.02918.93
7.2.240.0030.02818.65
7.2.230.0070.01518.78
7.2.220.0070.01518.89
7.2.210.0110.01418.73
7.2.200.0070.01418.91
7.2.190.0110.01118.66
7.2.180.0070.01318.94
7.2.170.0060.01418.73
7.2.160.0070.01818.98
7.2.150.0060.00920.48
7.2.140.0300.01320.63
7.2.130.0120.01020.83
7.2.120.0090.01420.72
7.2.110.0090.01320.79
7.2.100.0100.01620.83
7.2.90.0070.01820.80
7.2.80.0170.00920.82
7.2.70.0060.01820.88
7.2.60.0090.01420.92
7.2.50.0090.01720.72
7.2.40.0130.01420.81
7.2.30.0220.01320.81
7.2.20.0110.01920.62
7.2.10.0100.01620.69
7.2.00.0140.01821.41
7.1.330.0050.01919.53
7.1.320.0150.01819.65
7.1.310.0090.01419.65
7.1.300.0230.01319.68
7.1.290.0060.01519.70
7.1.280.0190.01419.48
7.1.270.0050.02119.54
7.1.260.0270.01819.56
7.1.250.0120.01519.81
7.1.70.0000.01421.04
7.1.60.0030.03020.86
7.1.50.0100.02620.88
7.1.00.0000.07326.25
7.0.200.0330.01619.42
7.0.140.0030.08326.12
7.0.60.0130.04323.79
7.0.50.0070.09021.69
7.0.40.0070.05022.70
7.0.30.0530.06722.75
7.0.20.0330.06022.74
7.0.10.0030.05022.77
7.0.00.0130.06322.54
5.6.280.0130.11037.07
5.6.210.0200.07736.45
5.6.200.0030.07033.98
5.6.190.0230.10036.29
5.6.180.0330.10736.37
5.6.170.0200.09036.43
5.6.160.0130.06736.21
5.6.150.0130.11334.16
5.6.140.0130.06734.12
5.6.130.0100.11334.12
5.6.120.0170.07037.04
5.6.110.0130.10336.99
5.6.100.0230.07036.92
5.6.90.0070.07337.09
5.6.80.0170.09336.35
5.5.350.4200.07336.33
5.5.340.0100.12033.95
5.5.330.0130.10736.25
5.5.320.0400.10736.13
5.5.310.0270.11736.09
5.5.300.0100.06333.95
5.5.290.0100.10733.94
5.5.280.0130.06736.95
5.5.270.0130.10036.71
5.5.260.0200.11336.78
5.5.250.0070.13036.48
5.5.240.0170.05036.25
5.4.450.1730.07035.37
5.4.440.1800.07035.22
5.4.430.1700.06735.45
5.4.420.1600.06035.34
5.4.410.1930.06035.08
5.4.400.1770.08034.64
5.4.390.1470.07334.71
5.4.380.1530.06334.91
5.4.370.1830.06035.24
5.4.360.1700.08734.65
5.4.350.1770.07335.23
5.4.340.1770.06035.03
5.4.320.1600.05734.92
5.4.310.1570.06035.07
5.4.300.1730.07734.70
5.4.290.1700.07035.06
5.4.280.1570.06035.02
5.4.270.1830.06735.22
5.4.260.1730.08035.06
5.4.250.1770.07335.07
5.4.240.1770.07334.70
5.4.230.1730.07034.76
5.4.220.1870.06334.80
5.4.210.1930.06334.80
5.4.200.1770.06734.92
5.4.190.1870.06334.91
5.4.180.1630.07035.06
5.4.170.1830.05734.89
5.4.160.1530.06734.93
5.4.150.1730.07334.89
5.4.140.1900.05732.24
5.4.130.1800.07032.29
5.4.120.1470.06732.38
5.4.110.1570.06732.52
5.4.100.1870.08732.16
5.4.90.1600.06332.25
5.4.80.1330.06732.24
5.4.70.1600.07332.51
5.4.60.1530.06332.26
5.4.50.1700.05732.22
5.4.40.1800.06732.43
5.4.30.1500.07032.47
5.4.20.1700.06332.21
5.4.10.1630.05732.29
5.4.00.1800.07031.78
5.3.290.1600.04314.81
5.3.280.0830.03314.71
5.3.270.0030.04314.69
5.3.260.0070.03714.75
5.3.250.0070.07714.52
5.3.240.1500.04014.52
5.3.230.1500.04014.50
5.3.220.1570.03014.71
5.3.210.1530.04314.82
5.3.200.1570.04014.65
5.3.190.1770.04014.64
5.3.180.1600.03714.46
5.3.170.1830.04714.62
5.3.160.1770.03714.64
5.3.150.1870.04314.68
5.3.140.1670.04014.78
5.3.130.1830.03714.55
5.3.120.1730.05014.54
5.3.110.1830.03314.57
5.3.100.1730.04314.27
5.3.90.1770.03714.14
5.3.80.1500.03714.09
5.3.70.1800.03713.91
5.3.60.1600.03014.14
5.3.50.1570.03714.19
5.3.40.1530.03713.86
5.3.30.1530.03313.91
5.3.20.1570.03013.70
5.3.10.0000.04013.73
5.3.00.0070.04713.54
5.2.170.0300.03311.37
5.2.160.1470.04011.29
5.2.150.1300.02711.22
5.2.140.1200.03011.05
5.2.130.1200.03311.01
5.2.120.1300.02711.07
5.2.110.1200.03311.02
5.2.100.1370.03311.02
5.2.90.1230.03011.13
5.2.80.1300.02711.16
5.2.70.1130.03011.18
5.2.60.1230.03010.95
5.2.50.1370.03310.94
5.2.40.1070.02311.13
5.2.30.1100.03310.87
5.2.20.0200.03310.94
5.2.10.0000.03010.93
5.2.00.0100.02710.68
5.1.60.0030.0239.92
5.1.50.0300.02310.14
5.1.40.0930.0209.96
5.1.30.1000.02710.30
5.1.20.1130.03010.26
5.1.10.1070.02310.16
5.1.00.1000.0179.96
5.0.50.0430.0208.53
5.0.40.0000.0238.54
5.0.30.0000.0338.12
5.0.20.0000.0238.35
5.0.10.0030.0178.07
5.0.00.0030.0308.24
4.4.90.0030.0137.95
4.4.80.0000.0177.95
4.4.70.0070.0137.95
4.4.60.0000.0177.95
4.4.50.0000.0177.95
4.4.40.0300.0277.95
4.4.30.0530.0137.95
4.4.20.0500.0177.95
4.4.10.0470.0137.95
4.4.00.0570.0407.95
4.3.110.0470.0207.95
4.3.100.0470.0137.95
4.3.90.0570.0277.95
4.3.80.0500.0237.95
4.3.70.0600.0237.95
4.3.60.0470.0137.95
4.3.50.0630.0237.95
4.3.40.0430.0337.95
4.3.30.0370.0237.95
4.3.20.0230.0177.95
4.3.10.0330.0177.95
4.3.00.0370.0237.95

preferences:
44.14 ms | 400 KiB | 5 Q