Auto-generated via RandomPerformanceTests.Benchmark. Run the test to refresh these summary and detail tables.
| Random | NextUint (ops/s) | Speed | Quality | Notes |
|---|---|---|---|---|
| LinearCongruentialGenerator | 1,338,500,000 | Fastest | Poor | Minimal standard LCG; fails spectral tests and exhibits lattice artifacts beyond small dimensions. |
| WaveSplatRandom | 1,311,200,000 | Fastest | Experimental | Single-word chaotic generator; author notes period 2^64 but provides no formal test results—treat as experimental. |
| SplitMix64 | 1,065,500,000 | Very Fast | Very Good | Well-known SplitMix64 mixer; passes TestU01 BigCrush and PractRand up to large data sizes in literature. Vigna 2014 |
| BlastCircuitRandom | 1,063,400,000 | Very Fast | Good | Empirical PractRand testing to 32GB shows strong diffusion; designed as a chaotic ARX mixer rather than a proven statistically optimal generator. |
| FlurryBurstRandom | 943,000,000 | Fast | Excellent | Six-word ARX-style generator tuned for all-around use; passes TestU01 BigCrush per upstream reference implementation. Will Stafford Parsons (wileylooper) |
| PcgRandom | 919,000,000 | Fast | Excellent | PCG XSH RR 64/32 variant; passes TestU01 BigCrush and PractRand in published results. O'Neill 2014 |
| IllusionFlow | 849,900,000 | Fast | Excellent | Hybridized PCG + xorshift design; upstream PractRand 64GB passes with no anomalies per author. |
| RomuDuo | 759,500,000 | Fast | Very Good | ROMU family member (RomuDuo); authors report strong BigCrush results with minor low-bit weaknesses in some rotations. |
| XoroShiroRandom | 742,500,000 | Fast | Very Good | xoshiro128** variant; authors recommend for general-purpose use and report clean BigCrush performance with jump functions. Blackman & Vigna 2019 |
| StormDropRandom | 721,400,000 | Moderate | Excellent | 20-word ARX generator derived from SHISHUA; author reports excellent PractRand performance and long periods. |
| XorShiftRandom | 601,900,000 | Moderate | Fair | Classic 32-bit xorshift; known to fail portions of TestU01 and PractRand, acceptable for lightweight effects only. Marsaglia 2003 |
| WyRandom | 452,700,000 | Slow | Very Good | Wyhash-based generator; published testing shows it clears BigCrush/PractRand with wide seed coverage. Wang Yi 2019 |
| SquirrelRandom | 414,300,000 | Slow | Good | Hash-based generator built on Squirrel3; good equidistribution for table lookups but not extensively tested beyond moderate ranges. Squirrel Eiserloh |
| PhotonSpinRandom | 268,800,000 | Slow | Excellent | SHISHUA-inspired generator; independent testing (PractRand 128GB) by author indicates excellent distribution properties. |
| UnityRandom | 87,100,000 | Very Slow | Fair | Mirrors UnityEngine.Random (Xorshift196 + additive); suitable for legacy compatibility but not high-stakes simulation. Unity Random Internals |
| SystemRandom | 65,600,000 | Very Slow | Poor | Thin wrapper over System.Random; inherits same LCG weaknesses and fails modern statistical batteries. System.Random considered harmful |
| DotNetRandom | 56,600,000 | Very Slow | Poor | Linear congruential generator (mod 2^31) with known correlation failures; unsuitable for high-quality simulations. System.Random considered harmful |
| Random | NextBool | Next | NextUint | NextFloat | NextDouble | NextUint (Range) | NextInt (Range) |
|---|---|---|---|---|---|---|---|
| LinearCongruentialGenerator | 791,900,000 | 835,000,000 | 1,338,500,000 | 184,400,000 | 381,500,000 | 589,100,000 | 505,400,000 |
| WaveSplatRandom | 792,100,000 | 819,300,000 | 1,311,200,000 | 184,500,000 | 411,000,000 | 532,900,000 | 464,100,000 |
| SplitMix64 | 794,900,000 | 741,600,000 | 1,065,500,000 | 183,400,000 | 352,600,000 | 488,100,000 | 445,800,000 |
| BlastCircuitRandom | 785,000,000 | 656,700,000 | 1,063,400,000 | 182,600,000 | 360,100,000 | 486,400,000 | 424,300,000 |
| FlurryBurstRandom | 786,000,000 | 649,300,000 | 943,000,000 | 180,500,000 | 287,500,000 | 455,200,000 | 408,400,000 |
| PcgRandom | 783,900,000 | 654,600,000 | 919,000,000 | 184,300,000 | 318,600,000 | 454,500,000 | 410,100,000 |
| IllusionFlow | 778,300,000 | 640,900,000 | 849,900,000 | 178,100,000 | 296,300,000 | 446,000,000 | 395,800,000 |
| RomuDuo | 786,300,000 | 590,000,000 | 759,500,000 | 167,200,000 | 254,700,000 | 443,500,000 | 396,200,000 |
| XoroShiroRandom | 766,900,000 | 563,100,000 | 742,500,000 | 166,500,000 | 243,800,000 | 426,700,000 | 381,400,000 |
| StormDropRandom | 758,200,000 | 531,300,000 | 721,400,000 | 182,100,000 | 258,900,000 | 394,700,000 | 338,100,000 |
| XorShiftRandom | 786,200,000 | 593,500,000 | 601,900,000 | 184,300,000 | 288,000,000 | 440,400,000 | 393,100,000 |
| WyRandom | 751,000,000 | 387,500,000 | 452,700,000 | 166,400,000 | 189,300,000 | 297,400,000 | 281,700,000 |
| SquirrelRandom | 753,500,000 | 409,100,000 | 414,300,000 | 172,300,000 | 202,200,000 | 328,800,000 | 313,300,000 |
| PhotonSpinRandom | 708,700,000 | 256,400,000 | 268,800,000 | 121,100,000 | 123,500,000 | 216,300,000 | 210,800,000 |
| UnityRandom | 647,000,000 | 85,000,000 | 87,100,000 | 62,200,000 | 41,500,000 | 81,700,000 | 82,400,000 |
| SystemRandom | 145,300,000 | 147,400,000 | 65,600,000 | 131,500,000 | 140,100,000 | 60,100,000 | 60,500,000 |
| DotNetRandom | 522,600,000 | 54,600,000 | 56,600,000 | 46,200,000 | 27,000,000 | 53,900,000 | 54,000,000 |