Engpass bei der Zufallszahlengenerierung: Es ist nicht Ihr PRNG
Dieser Artikel verwendet eine Geschichte, um ein zentrales Problem bei der Optimierung von Zufallszahlengenerierungsalgorithmen hervorzuheben: Der Engpass liegt möglicherweise nicht im PRNG selbst, sondern in der Methode zur Erzeugung von Zufallszahlen in einem bestimmten Bereich. Der Autor vergleicht verschiedene Methoden zur Erzeugung von Zufallszahlen in einem gegebenen Bereich, darunter die klassische Modulo-Methode, die Gleitkommamultiplikation, die Ganzzahlmultiplikation und verschiedene unvoreingenommene Methoden wie das Ablehnungsverfahren und das Bitmaskenverfahren. Die experimentellen Ergebnisse zeigen, dass die beste Methode je nach PRNG und Datenumfang variiert, aber die auf Ganzzahlmultiplikation basierende Methode von Lemire nach der Optimierung eine außergewöhnliche Leistung erbringt und die Leistung deutlich verbessert. Der Artikel vergleicht auch die Leistung verschiedener PRNGs und stellt fest, dass selbst die schnellsten PRNGs eine viel geringere Leistungsverbesserung bieten als die Optimierung der Bereichserzeugungsmethode.