调试构建速度提升 100 倍的秘诀:SIMD 和专用硬件的奇迹
2025-02-18
作者在开发一个 C 语言编写的 Torrent 应用程序时,遇到了调试构建启动速度过慢的问题(20-30 秒)。这主要是因为程序启动时需要逐块验证下载文件的 SHA1 哈希值,而调试模式下的 Address Sanitizer 会显著降低 SHA1 计算速度。文章尝试了多种优化方法,包括使用 SIMD 指令和 CPU 的专用 SHA 加速硬件。最终,通过使用 Intel SHA 扩展指令集,将启动时间缩短到 866.9 毫秒,实现了 100 倍的性能提升。这篇文章详细介绍了各种优化方案的实现细节和性能对比,并探讨了编译器优化和磁盘 I/O 的影响。
开发