Benchmarking the Status of Default Pseudorandom Number Generators in Common Programming Languages
Nils van den Honert, Diederick Vermetten, Anna V. Kononova

TL;DR
This paper benchmarks default pseudorandom number generators across popular programming languages, revealing their strengths and weaknesses through extensive statistical testing to assess their randomness quality.
Contribution
It provides a comprehensive empirical comparison of default PRNGs in various languages, highlighting improvements and persistent flaws.
Findings
Some languages have improved their default PRNGs over the years.
Certain default PRNGs still fail to produce sufficiently random results.
Empirical tests reveal specific weaknesses in some language implementations.
Abstract
The ever-increasing need for random numbers is clear in many areas of computer science, from neural networks to optimization. As such, most common programming language provide easy access to Pseudorandom Number Generators. However, these generators are not all made equal, and empirical verification has previously shown some to be flawed in key ways. Because of the constant changes in programming languages, we perform the same empirical benchmarking using large batteries of statistcal tests on a wide array of PRNGs, and identify that while some languages have improved significantly over the years, there are still cases where the default PRNG fails to deliver sufficiently random results.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications · Numerical Methods and Algorithms · Chaos-based Image/Signal Encryption
