Xoroshiro256+ is slightly faster but fails some linearity tests in the low order bits, however when generating 64 bit floats only 53 bits are used, thus if you take the most significant 53 bits then Xoroshiro256+ is perfectly fine. It's also probably fine for generating the full 64 bits for the vast majority of cases, unless you have some very specific requirements. But for peace of mind there is the option to take the 15% slower version for a PRNG that is still sub-nanosecond (per 64 bits generated, on contemporary superscalar CPUs) and that passes all tests that the authors were aware of.
5 comments
[ 5.4 ms ] story [ 28.3 ms ] threadI.e. your quote relates to xoshiro256+, not Xoshiro256* *.
To summarise...
Xoroshiro256+ is slightly faster but fails some linearity tests in the low order bits, however when generating 64 bit floats only 53 bits are used, thus if you take the most significant 53 bits then Xoroshiro256+ is perfectly fine. It's also probably fine for generating the full 64 bits for the vast majority of cases, unless you have some very specific requirements. But for peace of mind there is the option to take the 15% slower version for a PRNG that is still sub-nanosecond (per 64 bits generated, on contemporary superscalar CPUs) and that passes all tests that the authors were aware of.