Mersenne twister - random number generator
2025-08-08
For no particular reason, updated my implementation of a Mersenne Twister from years back.
Current box is a bit faster.
$ bin/rate
Computed 10742 million primes in 30000 (ms) - 358.1 m/s - last 3717723856
Measured rates of random value generation:
- 2007: 41.1 m/s
- 2015: 243.6 m/s
- 2025: 358.1 m/s
The rate of single-thread performance improvement is clearly flattening out. (Of course, there are many more cores.)
Current CPU:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 9 5900X 12-Core Processor
CPU family: 25
Model: 33
Thread(s) per core: 2
Core(s) per socket: 12
Socket(s): 1
Stepping: 0
Frequency boost: enabled
CPU(s) scaling MHz: 54%
CPU max MHz: 4954.0000
CPU min MHz: 550.0000
BogoMIPS: 7386.02