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,333,700,000FastestPoorMinimal standard LCG; fails spectral tests and exhibits lattice artifacts beyond small dimensions.
WaveSplatRandom1,323,500,000FastestExperimentalSingle-word chaotic generator; author notes period 2^64 but provides no formal test results—treat as experimental.
BlastCircuitRandom1,068,900,000Very FastGoodEmpirical PractRand testing to 32GB shows strong diffusion; designed as a chaotic ARX mixer rather than a proven statistically optimal generator.
SplitMix641,042,200,000Very FastVery GoodWell-known SplitMix64 mixer; passes TestU01 BigCrush and PractRand up to large data sizes in literature. Steele, Lea, Flood 2014
FlurryBurstRandom947,500,000FastExcellentSix-word ARX-style generator tuned for all-around use; passes TestU01 BigCrush per upstream reference implementation. Will Stafford Parsons (wileylooper)
PcgRandom916,300,000FastExcellentPCG XSH RR 64/32 variant; passes TestU01 BigCrush and PractRand in published results. O'Neill 2014
IllusionFlow891,400,000FastExcellentHybridized PCG + xorshift design; upstream PractRand 64GB passes with no anomalies per author.
XoroShiroRandom762,900,000FastVery Goodxoshiro128** variant; authors recommend for general-purpose use and report clean BigCrush performance with jump functions. Blackman & Vigna 2018
RomuDuo757,900,000FastVery GoodROMU family member (RomuDuo); authors report strong BigCrush results with minor low-bit weaknesses in some rotations.
StormDropRandom713,500,000ModerateExcellent20-word ARX generator derived from SHISHUA; author reports excellent PractRand performance and long periods.
XorShiftRandom599,800,000ModerateFairClassic 32-bit xorshift; known to fail portions of TestU01 and PractRand, acceptable for lightweight effects only. Marsaglia 2003
WyRandom440,100,000SlowVery GoodWyhash-based generator; published testing shows it clears BigCrush/PractRand with wide seed coverage. Wang Yi 2019
SquirrelRandom409,000,000SlowGoodHash-based generator built on Squirrel3; good equidistribution for table lookups but not extensively tested beyond moderate ranges. Squirrel Eiserloh
PhotonSpinRandom260,200,000Very SlowExcellentSHISHUA-inspired generator; independent testing (PractRand 128GB) by author indicates excellent distribution properties.
UnityRandom86,800,000Very SlowFairMirrors UnityEngine.Random (Xorshift196 + additive); suitable for legacy compatibility but not high-stakes simulation. Unity Random Internals
SystemRandom64,200,000Very SlowPoorThin wrapper over System.Random; inherits same LCG weaknesses and fails modern statistical batteries. System.Random considered harmful
DotNetRandom54,300,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)
LinearCongruentialGenerator812,500,000844,800,0001,333,700,000184,600,000387,000,000580,800,000505,400,000
WaveSplatRandom780,800,000721,900,0001,323,500,000182,500,000400,700,000532,600,000463,400,000
BlastCircuitRandom785,700,000716,200,0001,068,900,000183,300,000353,100,000485,400,000422,600,000
SplitMix64777,700,000774,200,0001,042,200,000183,200,000362,300,000484,000,000436,100,000
FlurryBurstRandom771,200,000678,400,000947,500,000183,500,000311,600,000445,700,000405,200,000
PcgRandom777,500,000673,700,000916,300,000184,200,000328,700,000454,100,000409,400,000
IllusionFlow789,200,000641,300,000891,400,000177,800,000309,100,000445,700,000396,000,000
XoroShiroRandom770,000,000592,300,000762,900,000165,800,000242,400,000427,700,000381,800,000
RomuDuo783,100,000592,000,000757,900,000164,500,000249,800,000443,500,000394,800,000
StormDropRandom776,100,000568,200,000713,500,000181,400,000264,100,000397,600,000364,300,000
XorShiftRandom779,800,000587,300,000599,800,000183,300,000272,400,000432,200,000388,700,000
WyRandom749,900,000380,600,000440,100,000164,700,000186,700,000293,600,000274,300,000
SquirrelRandom759,200,000407,200,000409,000,000169,500,000193,400,000331,400,000311,200,000
PhotonSpinRandom701,900,000246,500,000260,200,000118,000,000117,000,000211,300,000204,300,000
UnityRandom623,500,00084,100,00086,800,00061,200,00041,000,00080,400,00081,400,000
SystemRandom147,100,000148,100,00064,200,000130,900,000137,700,00058,500,00056,900,000
DotNetRandom539,800,00052,500,00054,300,00045,800,00026,700,00053,500,00053,000,000