Rust 项目中解决依赖重复编译问题:以 objc2 为例
在开发桌面剪贴板同步应用时,遇到了一个令人困扰的问题:即使修改与 objc2 库无关的代码,Rust 编译器也会重新编译 objc2 库,严重影响效率。经优化 Cargo 配置和使用 sccache 加速编译等措施,大幅提升了构建效率。优化策略包括增加并行编译单位、差异化处理依赖、优化缓存策略以及改进增量编译。优化后,首次构建略有增加但增量构建时间减少至80%以上,开发体验由等待30-60秒减至5-10秒。优化经验包括理解依赖关系、差异化处理依赖、利用缓存以及权衡取舍。这些技巧不仅适用于objc2库,也适用于其他包含慢速编译依赖的Rust项目,为提高开发效率提供了指导。