Closed morinim closed 6 years ago
xoroshiro128+ (XOR/rotate/shift/rotate) is the successor to xorshift128+. Instead of perpetuating Marsaglia's tradition of xorshift as a basic operation, xoroshiro128+ uses a carefully handcrafted shift/rotate-based linear transformation designed in collaboration with David Blackman. The result is a significant improvement in speed (well below a nanosecond per integer) and a significant improvement in statistical quality, as detected by the long-range tests of PractRand. xoroshiro128+ is our current suggestion for replacing low-quality generators commonly found in programming languages. It is the default generator in Erlang.
Internal tests confirm that xoroshiro128+ is at least 2 times faster than MT19937. Quality isn't affected. The new PRNG is a clear winner.
xorshift64 / xorshift1024 (http://vigna.di.unimi.it/ftp/papers/xorshift.pdf) are very fast PRNGs with interesting properties and could replace Mersenne Twister.