💡
原文中文,约700字,阅读约需2分钟。
📝
内容提要
Qt 工具包在 6.11 开发分支中逐步放弃直接使用 CPU 的 RDRAND 和 RDSEED 指令生成随机数,转而依赖操作系统提供的熵,移除了 QRandomGenerator 对硬件指令的调用,以避免 HWRNG 故障问题。
🎯
关键要点
- Qt 工具包逐步放弃直接依赖 CPU 的 RDRAND 和 RDSEED 指令生成随机数。
- 转而使用操作系统提供的熵,移除了 QRandomGenerator 对硬件指令的直接调用。
- AMD Zen 5 架构受到 RDSEED 指令的影响,已通过更新的微代码解决该问题。
- RDSEED/RDRAND 指令的性能优势与依赖操作系统提供的熵相比并不明显。
- 此次合并的提交终止了 QRandomGenerator 对硬件指令的直接调用。
- 操作系统能够从 CPU 之外的其他来源收集熵,避免了 Qt 处理 HWRNG 故障的问题。
- 在 x86 系统上,QRandomGenerator 不再直接使用硬件随机数生成器,而是始终采用操作系统提供的生成器。
➡️