Goulot d'étranglement dans la génération de nombres aléatoires : ce n'est pas votre PRNG

2025-08-04

Cet article utilise une histoire pour mettre en évidence un problème clé dans l'optimisation des algorithmes de génération de nombres aléatoires : le goulot d'étranglement peut ne pas être le PRNG lui-même, mais la méthode de génération de nombres aléatoires dans une plage spécifique. L'auteur compare plusieurs méthodes pour générer des nombres aléatoires dans une plage donnée, notamment le modulo classique, la multiplication à virgule flottante, la multiplication entière et plusieurs méthodes non biaisées telles que l'échantillonnage par rejet et le masquage binaire. Les résultats expérimentaux montrent que la meilleure méthode varie en fonction du PRNG et de l'échelle des données, mais la méthode de Lemire basée sur la multiplication entière, après optimisation, offre des performances exceptionnelles, améliorant considérablement les performances. L'article compare également les performances de plusieurs PRNG, constatant que même les PRNG les plus rapides offrent une amélioration des performances beaucoup moins importante que l'optimisation de la méthode de génération de plage.

Lire plus
Développement