💡
原文英文,约3700词,阅读约需14分钟。
📝
内容提要
两个月前,我们启动了Rust编译器性能调查,收到了3700多份反馈。调查显示,构建性能是Rust开发者的主要痛点,45%的用户因编译时间过长而停止使用Rust。我们识别了多个影响构建性能的工作流程,并计划每年进行一次调查以跟踪长期趋势。
🎯
关键要点
- 两个月前启动了Rust编译器性能调查,收到了3700多份反馈。
- 构建性能是Rust开发者的主要痛点,45%的用户因编译时间过长而停止使用Rust。
- 调查显示,构建体验因用户和工作流程的不同而差异很大。
- 许多用户对Rust的构建性能表示满意,认为其优于C++,但也有用户认为Rust的性能不如Go或Zig。
- 调查中识别了多个影响构建性能的工作流程,包括增量重建、类型检查和干净构建。
- 增量重建的主要问题包括工作区的变化导致不必要的重建、链接阶段过慢和单个crate的增量重建速度慢。
- 类型检查和IDE性能方面,cargo check与cargo build之间的构建缓存不共享,导致额外的编译。
- 约20%的参与者认为干净构建是一个重大障碍,CI构建性能也被认为是一个问题。
- 调试信息的生成增加了磁盘使用和编译时间,许多用户希望减少调试信息的生成。
- 用户对提高构建性能的机制了解不足,42%的用户没有尝试任何提高构建性能的方法。
- Rust团队计划创建官方指南以提高构建性能的意识,并解释各种机制的权衡。
- 开发者在识别构建缓慢的原因时面临挑战,只有少数人使用工具来分析构建性能。
- 未来的目标是稳定长期以来的改进计划,以显著提高构建性能。
➡️