2 ms·
Useful. One thing to keep in mind: there’s been a bit of a feud in the PRNG space between the Vigna camp [1] with xoroshiro and newcomer O’Neill [2] with PCG.
by FabHK 3y ago
Useful.
One thing to keep in mind: there’s been a bit of a feud in the PRNG space between the Vigna camp [1] with xoroshiro and newcomer O’Neill [2] with PCG.
This website seems stay on the traditional side and shy away from recommending PCG. I’m not really qualified to judge on that dispute [3], but I think both options are better, smaller, faster than the good old Mersenne Twister, so it’s time that we moved on from that [4] and pick one of the latest generation PRNGs.
FWIW, Julia now uses xoshiro256++ by default [5], and they investigated their choice quite thoroughly, I believe.
[1] https://prng.di.unimi.it/ https://prng.di.unimi.it/
[2] https://www.pcg-random.org/ https://www.pcg-random.org/
[3] https://pcg.di.unimi.it/pcg.php https://pcg.di.unimi.it/pcg.php
And the reply
https://www.pcg-random.org/posts/on-vignas-pcg-critique.html https://www.pcg-random.org/posts/on-vignas-pcg-critique.html
[4] https://arxiv.org/abs/1910.06437 https://arxiv.org/abs/1910.06437
[5] https://docs.julialang.org/en/v1/stdlib/Random/ https://docs.julialang.org/en/v1/stdlib/Random/
- adgjlsfhk1 3y agowe're also considering moving to a 192 bit combination of xoshiro128++ with pcg64 (early stages, PR doesn't exist yet). this would have the advantage that you could do really cheap rng splitting by modifying the pcg state while avoiding the 128 bit multiplies that make bigger pcg slow. also it would mean both sides of the fued would be mad at us :)