better random numbers
John Rose
john.r.rose at oracle.com
Thu Sep 2 23:35:51 UTC 2021
The state of the art for PRNGs (pseudo-random number generators) is
much advanced since ju.Random was written.
Surely at some point we will refresh our APIs that produce random
numbers. In fact, we have added SplittableRandom, but I think the
state of the art is farther enough along to consider another refresh.
(When we get advanced numerics via Valhalla, I think we will probably
want generic algorithms on 128-bit int and vectorized states, as well;
that’s just a guess.)
I bring this up not for any immediate purpose, but because every so
often I google around for information about PRNGs, and I have noticed
that a particular reference (since at least 2018) keeps coming to the
top of the pile of interesting stuff. I’d like to share it with you
all, and talk about making use of it.
(FWIW, last weekend I was doing some experiments with perfect hash
functions, and I wanted to roll my own PRNG to drive the search for
them. A few months ago my problem was test vector generation, and
again I rolled my own PRNG after looking at ju.*Random.)
The reference I’d like to give here is to Dr. Melissa O’Neill’s
website and articles:
https://www.pcg-random.org
…Read more here:
http://cr.openjdk.java.net/~jrose/jdk/pcg-psa.txt
More information about the core-libs-dev
mailing list