-
Notifications
You must be signed in to change notification settings - Fork 9
Performance Random Performance
github-actions[bot] edited this page May 8, 2026
·
12 revisions
Auto-generated via RandomPerformanceTests.Benchmark. Run the test to refresh these summary and detail tables.
| Random | NextUint (ops/s) | Speed | Quality | Notes |
|---|---|---|---|---|
| LinearCongruentialGenerator | 1,323,700,000 | Fastest | Poor | Minimal standard LCG; fails spectral tests and exhibits lattice artifacts beyond small dimensions. |
| WaveSplatRandom | 1,283,400,000 | Fastest | Experimental | Single-word chaotic generator; author notes period 2^64 but provides no formal test results—treat as experimental. |
| BlastCircuitRandom | 1,054,900,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. |
| SplitMix64 | 1,052,300,000 | Very Fast | Very Good | Well-known SplitMix64 mixer; passes TestU01 BigCrush and PractRand up to large data sizes in literature. Vigna 2014 |
| FlurryBurstRandom | 923,200,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 | 897,900,000 | Fast | Excellent | PCG XSH RR 64/32 variant; passes TestU01 BigCrush and PractRand in published results. O'Neill 2014 |
| XoroShiroRandom | 754,700,000 | Fast | Very Good | xoshiro128** variant; authors recommend for general-purpose use and report clean BigCrush performance with jump functions. Blackman & Vigna 2019 |
| IllusionFlow | 754,500,000 | Fast | Excellent | Hybridized PCG + xorshift design; upstream PractRand 64GB passes with no anomalies per author. |
| RomuDuo | 750,100,000 | Fast | Very Good | ROMU family member (RomuDuo); authors report strong BigCrush results with minor low-bit weaknesses in some rotations. |
| StormDropRandom | 705,200,000 | Moderate | Excellent | 20-word ARX generator derived from SHISHUA; author reports excellent PractRand performance and long periods. |
| XorShiftRandom | 602,100,000 | Moderate | Fair | Classic 32-bit xorshift; known to fail portions of TestU01 and PractRand, acceptable for lightweight effects only. Marsaglia 2003 |
| WyRandom | 440,500,000 | Slow | Very Good | Wyhash-based generator; published testing shows it clears BigCrush/PractRand with wide seed coverage. Wang Yi 2019 |
| SquirrelRandom | 414,000,000 | Slow | Good | Hash-based generator built on Squirrel3; good equidistribution for table lookups but not extensively tested beyond moderate ranges. Squirrel Eiserloh |
| PhotonSpinRandom | 261,100,000 | Very Slow | Excellent | SHISHUA-inspired generator; independent testing (PractRand 128GB) by author indicates excellent distribution properties. |
| UnityRandom | 87,600,000 | Very Slow | Fair | Mirrors UnityEngine.Random (Xorshift196 + additive); suitable for legacy compatibility but not high-stakes simulation. Unity Random Internals |
| SystemRandom | 64,700,000 | Very Slow | Poor | Thin wrapper over System.Random; inherits same LCG weaknesses and fails modern statistical batteries. System.Random considered harmful |
| DotNetRandom | 55,900,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 | 785,200,000 | 538,800,000 | 1,323,700,000 | 184,300,000 | 296,300,000 | 582,900,000 | 498,700,000 |
| WaveSplatRandom | 787,300,000 | 528,500,000 | 1,283,400,000 | 184,300,000 | 297,900,000 | 529,000,000 | 458,200,000 |
| BlastCircuitRandom | 788,200,000 | 537,400,000 | 1,054,900,000 | 183,800,000 | 293,200,000 | 479,700,000 | 421,200,000 |
| SplitMix64 | 795,900,000 | 537,200,000 | 1,052,300,000 | 184,400,000 | 297,700,000 | 482,500,000 | 439,100,000 |
| FlurryBurstRandom | 767,800,000 | 526,500,000 | 923,200,000 | 182,300,000 | 293,100,000 | 449,800,000 | 404,100,000 |
| PcgRandom | 249,800,000 | 527,300,000 | 897,900,000 | 181,000,000 | 274,700,000 | 447,700,000 | 405,000,000 |
| XoroShiroRandom | 761,000,000 | 359,000,000 | 754,700,000 | 157,900,000 | 192,400,000 | 422,100,000 | 376,900,000 |
| IllusionFlow | 779,300,000 | 529,200,000 | 754,500,000 | 183,000,000 | 281,600,000 | 439,200,000 | 390,000,000 |
| RomuDuo | 784,600,000 | 359,400,000 | 750,100,000 | 156,100,000 | 188,700,000 | 437,700,000 | 384,600,000 |
| StormDropRandom | 776,600,000 | 523,600,000 | 705,200,000 | 180,600,000 | 252,400,000 | 393,500,000 | 356,700,000 |
| XorShiftRandom | 783,300,000 | 534,100,000 | 602,100,000 | 184,100,000 | 283,200,000 | 474,500,000 | 383,500,000 |
| WyRandom | 749,500,000 | 363,000,000 | 440,500,000 | 159,000,000 | 185,300,000 | 290,000,000 | 277,800,000 |
| SquirrelRandom | 756,300,000 | 382,700,000 | 414,000,000 | 158,800,000 | 197,800,000 | 355,500,000 | 309,500,000 |
| PhotonSpinRandom | 713,300,000 | 220,800,000 | 261,100,000 | 119,900,000 | 115,800,000 | 217,600,000 | 214,200,000 |
| UnityRandom | 628,900,000 | 76,700,000 | 87,600,000 | 59,700,000 | 38,800,000 | 81,800,000 | 81,900,000 |
| SystemRandom | 146,200,000 | 145,700,000 | 64,700,000 | 131,300,000 | 138,600,000 | 58,700,000 | 57,800,000 |
| DotNetRandom | 544,600,000 | 53,100,000 | 55,900,000 | 44,700,000 | 26,700,000 | 53,400,000 | 51,700,000 |
📦 Unity Helpers | 📖 Documentation | 🐛 Issues | 📜 MIT License
- Inspector Button
- Inspector Conditional Display
- Inspector Grouping Attributes
- Inspector Inline Editor
- Inspector Overview
- Inspector Selection Attributes
- Inspector Settings
- Inspector Validation Attributes
- Utility Components
- Visual Components
- Data Structures
- Helper Utilities
- Math And Extensions
- Pooling Guide
- Random Generators
- Reflection Helpers
- Singletons