Although I know a lot of effort went into Xoroshiro128+, and there are many good things that have come out of its development, I am sad to say that on balance I feel it has too many flaws to be worth recommending—there are many better choices. In this post, I'll dig a little deeper into some of its flaws.
Let's begin with what we already know:
- John D. Cook showed that it fails PractRand with just a couple of seconds of testing, and before that Chris Doty-Humphrey, author of PractRand, showed that it didn't just fail “binary rank” tests, it also failed the DC6 test which is a short-medium range linear test.
- Daniel Lemire showed that it fails TestU01.
- I showed that it is trivially predictable.
- I showed that it is visualizing smaller-scale versions of the scheme shows clear flaws.
But are the flaws superficial and easily ignored, or more troubling than that?