25 releases
0.8.3 | Dec 17, 2023 |
---|---|
0.8.2 | Apr 16, 2022 |
0.8.1 | Oct 3, 2021 |
0.8.0 | Apr 10, 2021 |
0.0.4 | Dec 21, 2014 |
#34 in Algorithms
775,834 downloads per month
Used in 4,187 crates
(7 directly)
30KB
455 lines
An implementation of random number generators based on rdrand
and rdseed
instructions.
The random number generators provided by this crate are fairly slow (the latency for these instructions is pretty high), but provide high quality random bits. Caveat is: neither AMD’s nor Intel’s designs are public and therefore are not verifiable for lack of backdoors.
Unless you know what you are doing, use the random number generators provided by the rand
crate (such as OsRng
) instead.
Here are a measurements for select processor architectures. Check Agner’s instruction tables for up-to-date listings.
Architecture | Latency (cycles) | Maximum throughput (per core) | ||
---|---|---|---|---|
u16 | u32 | u64 | ||
AMD Ryzen | ~1200 | ~1200 | ~2500 | ~12MB/s @ 3.7GHz |
Intel Skylake | 460 | 460 | 460 | ~72MB/s @ 4.2GHz |
Intel Haswell | 320 | 320 | 320 | ~110MB/s @ 4.4GHz |
Dependencies
~170KB