#random #rand #rdseed

无std rdrand

基于rdrand和rdseed指令的随机数生成器实现

25个版本

0.8.3 2023年12月17日
0.8.2 2022年4月16日
0.8.1 2021年10月3日
0.8.0 2021年4月10日
0.0.4 2014年12月21日

#16硬件支持

Download history 135030/week @ 2024-04-20 126609/week @ 2024-04-27 115656/week @ 2024-05-04 141048/week @ 2024-05-11 136316/week @ 2024-05-18 123321/week @ 2024-05-25 147965/week @ 2024-06-01 149493/week @ 2024-06-08 133280/week @ 2024-06-15 132695/week @ 2024-06-22 129881/week @ 2024-06-29 147306/week @ 2024-07-06 144053/week @ 2024-07-13 144375/week @ 2024-07-20 137648/week @ 2024-07-27 135981/week @ 2024-08-03

586,677 每月下载量
用于 5,284 个crates(7个直接使用)

ISC 许可证

30KB
455

基于 rdrandrdseed 指令的随机数生成器实现。

此crate提供的随机数生成器速度相对较慢(这些指令的延迟相当高),但提供高质量的随机位。需要注意的是:AMD和Intel的设计均未公开,因此无法验证是否存在后门。

除非你清楚自己在做什么,否则请使用 rand crate(如 OsRng)提供的随机数生成器。

以下是针对选定处理器架构的测量结果。请查看 Agner的指令表 以获取最新的列表。

架构 延迟(周期) 最大吞吐量(每核心)
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

依赖项

~160KB