Skip to content

Random Number Generator Performance Benchmarks

Auto-generated via RandomPerformanceTests.Benchmark. Run the test to refresh these summary and detail tables.

Summary (fastest first)

Random NextUint (ops/s) Speed Quality Notes
LinearCongruentialGenerator1,323,700,000FastestPoorMinimal standard LCG; fails spectral tests and exhibits lattice artifacts beyond small dimensions.
WaveSplatRandom1,283,400,000FastestExperimentalSingle-word chaotic generator; author notes period 2^64 but provides no formal test results—treat as experimental.
BlastCircuitRandom1,054,900,000Very FastGoodEmpirical PractRand testing to 32GB shows strong diffusion; designed as a chaotic ARX mixer rather than a proven statistically optimal generator.
SplitMix641,052,300,000Very FastVery GoodWell-known SplitMix64 mixer; passes TestU01 BigCrush and PractRand up to large data sizes in literature. Vigna 2014
FlurryBurstRandom923,200,000FastExcellentSix-word ARX-style generator tuned for all-around use; passes TestU01 BigCrush per upstream reference implementation. Will Stafford Parsons (wileylooper)
PcgRandom897,900,000FastExcellentPCG XSH RR 64/32 variant; passes TestU01 BigCrush and PractRand in published results. O'Neill 2014
XoroShiroRandom754,700,000FastVery Goodxoshiro128** variant; authors recommend for general-purpose use and report clean BigCrush performance with jump functions. Blackman & Vigna 2019
IllusionFlow754,500,000FastExcellentHybridized PCG + xorshift design; upstream PractRand 64GB passes with no anomalies per author.
RomuDuo750,100,000FastVery GoodROMU family member (RomuDuo); authors report strong BigCrush results with minor low-bit weaknesses in some rotations.
StormDropRandom705,200,000ModerateExcellent20-word ARX generator derived from SHISHUA; author reports excellent PractRand performance and long periods.
XorShiftRandom602,100,000ModerateFairClassic 32-bit xorshift; known to fail portions of TestU01 and PractRand, acceptable for lightweight effects only. Marsaglia 2003
WyRandom440,500,000SlowVery GoodWyhash-based generator; published testing shows it clears BigCrush/PractRand with wide seed coverage. Wang Yi 2019
SquirrelRandom414,000,000SlowGoodHash-based generator built on Squirrel3; good equidistribution for table lookups but not extensively tested beyond moderate ranges. Squirrel Eiserloh
PhotonSpinRandom261,100,000Very SlowExcellentSHISHUA-inspired generator; independent testing (PractRand 128GB) by author indicates excellent distribution properties.
UnityRandom87,600,000Very SlowFairMirrors UnityEngine.Random (Xorshift196 + additive); suitable for legacy compatibility but not high-stakes simulation. Unity Random Internals
SystemRandom64,700,000Very SlowPoorThin wrapper over System.Random; inherits same LCG weaknesses and fails modern statistical batteries. System.Random considered harmful
DotNetRandom55,900,000Very SlowPoorLinear congruential generator (mod 2^31) with known correlation failures; unsuitable for high-quality simulations. System.Random considered harmful

Detailed Metrics

Random NextBool Next NextUint NextFloat NextDouble NextUint (Range) NextInt (Range)
LinearCongruentialGenerator785,200,000538,800,0001,323,700,000184,300,000296,300,000582,900,000498,700,000
WaveSplatRandom787,300,000528,500,0001,283,400,000184,300,000297,900,000529,000,000458,200,000
BlastCircuitRandom788,200,000537,400,0001,054,900,000183,800,000293,200,000479,700,000421,200,000
SplitMix64795,900,000537,200,0001,052,300,000184,400,000297,700,000482,500,000439,100,000
FlurryBurstRandom767,800,000526,500,000923,200,000182,300,000293,100,000449,800,000404,100,000
PcgRandom249,800,000527,300,000897,900,000181,000,000274,700,000447,700,000405,000,000
XoroShiroRandom761,000,000359,000,000754,700,000157,900,000192,400,000422,100,000376,900,000
IllusionFlow779,300,000529,200,000754,500,000183,000,000281,600,000439,200,000390,000,000
RomuDuo784,600,000359,400,000750,100,000156,100,000188,700,000437,700,000384,600,000
StormDropRandom776,600,000523,600,000705,200,000180,600,000252,400,000393,500,000356,700,000
XorShiftRandom783,300,000534,100,000602,100,000184,100,000283,200,000474,500,000383,500,000
WyRandom749,500,000363,000,000440,500,000159,000,000185,300,000290,000,000277,800,000
SquirrelRandom756,300,000382,700,000414,000,000158,800,000197,800,000355,500,000309,500,000
PhotonSpinRandom713,300,000220,800,000261,100,000119,900,000115,800,000217,600,000214,200,000
UnityRandom628,900,00076,700,00087,600,00059,700,00038,800,00081,800,00081,900,000
SystemRandom146,200,000145,700,00064,700,000131,300,000138,600,00058,700,00057,800,000
DotNetRandom544,600,00053,100,00055,900,00044,700,00026,700,00053,400,00051,700,000