Problème :
Déterminer la méthode la plus rapide pour tout lister nombres premiers inférieurs à un entier donné N.
Question :
L'algorithme donné peut-il être optimisé pour une exécution plus rapide ?
Réponse :
L'algorithme fourni peut être considérablement amélioré en termes de vitesse. Une comparaison de diverses implémentations révèle que rwh_primes1 avec Psyco est le plus efficace pour générer des nombres premiers inférieurs à 1 000 000.
Résultats supplémentaires :
sieve_wheel_30 : Un algorithme spécialisé optimisé pour les calculs basés sur 30.
sieveOfEratosthenes : La méthode de tamisage classique avec optimisations de bitset.Méthode | Temps (ms) avec Psyco th> | Temps (ms) sans Psyco |
---|---|---|
rwh_primes1 | 43,0 | 93,7 |
sieveOfAtkin | 46,4 | 314,0 |
rwh_primes | 57 .4 | 94,6 |
sieve_wheel_30 | 63,0 | 97,4 | rwh_primes2 | 67.8 | 68.1 |
tamisOfEratosthène | 147,0178,0 | |
ambi_sieve_plain | 152,0 | 286,0 |
sundaram3 | 194.0 | 416.0 |
primesfrom2to | 15,9 |
N/A |
primesfrom3to | 18,4 | N/A |
ambi_sieve | 29.3 | N/A |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!