Add i5 results

This commit is contained in:
Pascal Engélibert 2026-01-18 10:53:41 +01:00
commit 39f6cf4d2e

View file

@ -89,6 +89,76 @@ Time (s) PRNG
3.7084286 simplerand::Random 3.7084286 simplerand::Random
``` ```
Results on Intel Core i5-7300HQ: (with AVX2)
```
Time (s) PRNG
0.08816869 simd_rand::specific::avx2::xoshiro256plusplus::Xoshiro256PlusPlusX4
0.08920241 simd_rand::portable::xoshiro256plusplusx4::Xoshiro256PlusPlusX4
0.0916341 simd_rand::portable::xoshiro256plusx4::Xoshiro256PlusX4
0.091638505 frand::Rand
0.09203979 simd_rand::portable::xoshiro256plusx8::Xoshiro256PlusX8
0.09215377 simd_rand::specific::avx2::xoshiro256plus::Xoshiro256PlusX4
0.10456483 fast_rands::RomuDuoJrRand
0.10739412 romu::Rng
0.10897199 fast_rands::RomuTrioRand
0.11360018 simd_rand::specific::avx2::shishua::Shishua<32768>
0.12551166 rand_xoshiro::xoshiro256plus::Xoshiro256Plus
0.12791388 simd_rand::portable::xoshiro256plusplusx8::Xoshiro256PlusPlusX8
0.13942851 rand_xoshiro::xoshiro256starstar::Xoshiro256StarStar
0.14631735 rand_xoshiro::xoroshiro128plus::Xoroshiro128Plus
0.14701757 fast_rands::Xoshiro256PlusPlusRand
0.14716452 rand_xoshiro::xoshiro256plusplus::Xoshiro256PlusPlus
0.16382654 tinyrand::wyrand::Wyrand
0.16435602 shishua::core::ShiShuAState
0.16689982 wyrand::final_v4_2::wyrand::WyRand
0.16744553 fastrand::Rng
0.16864042 rand_xoshiro::xoroshiro128starstar::Xoroshiro128StarStar
0.16963984 wyhash::final3::traits::WyRng
0.17015934 wyhash::v1::traits::WyRng
0.17045826 rand::rngs::small::SmallRng
0.1716554 rand_xoshiro::xoroshiro128plusplus::Xoroshiro128PlusPlus
0.17414004 tinyrand::xorshift::Xorshift
0.17646453 fast_rands::Sfc64Rand
0.18034014 rand_xoshiro::splitmix64::SplitMix64
0.18191795 tiny_prng::xorshift::Xorshift1024star
0.19055116 tiny_prng::xorshift::Xorshift128
0.1933505 rand_xoshiro::xoshiro512plus::Xoshiro512Plus
0.2013804 tiny_prng::pcg::PcgXslRrMcg
0.2033752 rand_xoshiro::xoshiro512starstar::Xoshiro512StarStar
0.2053617 mcg59::MCG59
0.20707493 fast_rands::Lehmer64Rand
0.21336877 rand_xoshiro::xoshiro512plusplus::Xoshiro512PlusPlus
0.22039062 tinyrand::splitmix::SplitMix
0.23350179 tiny_prng::pcg::PcgXslRr
0.23514548 bsd4random::BSD
0.23781174 fast_rands::XorShift64Rand
0.23798868 tiny_prng::xorshift::Xorshift64
0.23917288 tiny_prng::xorshift::Xorshift64star
0.24470972 rand_xoshiro::xoshiro128plus::Xoshiro128Plus
0.2509169 tiny_prng::pcg::PcgXslRr6432Mcg
0.29076266 rand_xoshiro::xoshiro128starstar::Xoshiro128StarStar
0.3070184 rand_xoshiro::xoshiro128plusplus::Xoshiro128PlusPlus
0.31972992 aes_prng::AesRng
0.32094362 tiny_prng::pcg::PcgXshRs6432
0.3234704 prng_mt::mt19937::MT19937_64
0.33205837 tiny_prng::pcg::PcgXshRr6432
0.3321641 rand_xoshiro::xoroshiro64star::Xoroshiro64Star
0.37840256 rand_xoshiro::xoroshiro64starstar::Xoroshiro64StarStar
0.42188576 quad_rand::RandGenerator
0.45290765 rand::rngs::std::StdRng
0.46695596 tiny_prng::xorshift::Xorshift32
0.47651544 prng_mt::mt19937::MT19937
0.47986245 nanorand::rand::wyrand::WyRand
0.5589406 tiny_prng::mt64::Mt19937
0.6100908 nanorand::rand::pcg64::Pcg64
1.146011 nanorand::rand::chacha::ChaCha<8>
1.442915 tiny_prng::mt::Mt19937
1.7194357 shishua::rand::ShiShuARng
3.682478 acorn_prng::Acorn
15.616315 simplerand::Random
```
[FRand](https://crates.io/crates/frand) is the fastest, however it has no particular mathematical justification beyond the fact its parameters were found empirically to minimize bias. [FRand](https://crates.io/crates/frand) is the fastest, however it has no particular mathematical justification beyond the fact its parameters were found empirically to minimize bias.
[simd_rand](https://github.com/martinothamar/simd-rand) provides the fastest implementations of common PRNGs. The best on my computer (without AVX512) was a portable one, probably thanks to compiler autovectorization. Sadly this crate is not published on crates.io, only on GitHub. [simd_rand](https://github.com/martinothamar/simd-rand) provides the fastest implementations of common PRNGs. The best on my computer (without AVX512) was a portable one, probably thanks to compiler autovectorization. Sadly this crate is not published on crates.io, only on GitHub.