Hacker News new | ask | show | jobs
by camel-cdr 1213 days ago
A history of PRNGs without mentioning George Marsaglia is heresy.

Also, PCG didn't stop the development. Nowadays, modern PRNGs explore the usage of chaotic PRNGs (without a fixed period), which are often faster than non-chaotic ones. Notable examples are the Romu family [0] of PRNGs and sfc [1], and tylov's sfc derivative [2].

Another thing that would be nice to mention is that we went full circle, the good old middle square method already used by von Neumann, has been found to work very well if you scale it up and add a weyl sequence. [3]

Edit: And how could I forget, there has also been a lot of effort in using SIMD, e.g. by SHISHUA. [4]

Another thing to consider is how to efficiently distribute the generated numbers in a given distribution. I'm not aware of any recent improvements in that regard, other then some approximations that have probably been reinvented a bunch of times.

[0] https://www.romu-random.org/

[1] https://numpy.org/devdocs/reference/random/bit_generators/sf...

[2] https://github.com/tylov/STC/blob/master/docs/crandom_api.md

[3] https://arxiv.org/abs/1704.00358

[4] https://espadrine.github.io/blog/posts/shishua-the-fastest-p...

Edit: I had a few names mixed up