Show HN: LoopMix128 – Fast C PRNG (.46ns), 2^128 Period, BigCrush/PractRand Pass
a year ago
- #PRNG
- #random-number-generation
- #performance
- LoopMix128是一种极快速的伪随机数生成器(PRNG),保证周期为2^128
- 经数学证明具有单射性,并通过BigCrush和PractRand(32TB)测试且零异常
- 高性能:比Java Random快8.75倍,比Java xoroshiro128++快21%,比C语言版xoroshiro128++快75%
- 优良统计质量:通过TestU01的BigCrush测试套件及32TB量级的PractRand测试
- 采用128位高低计数器循环技术实现2^128的超长周期
- 192位状态空间具备数学证明的单射性,经Z3定理证明器验证
- 支持并行流处理,得益于其192位状态空间的单射特性
- 性能基准测试显示其优于wyrand、xoroshiro128++等现代PRNG算法
- 使用不同初始种子进行多次PractRand测试均零失败,可疑结果极少
- 由Daniel Cota通过对PRNG技术的深度探索而创造