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);

preferences:
44.71 ms | 402 KiB | 5 Q