Rust 项目中解决依赖重复编译问题:以 objc2 为例
在开发桌面剪贴板同步应用时,遇到了一个令人烦恼的问题:即使只修改与 objc2 库无关的代码,每次构建时 Rust 编译器仍然会重新编译 objc2 库,严重影响开发效率。通过优化 Cargo 配置以及使用 sccache 加速编译等优化策略,有效提高了构建效率。优化后,首次完整构建时间略有增加,但增量构建时间减少了80%以上,开发体验得到明显改善。优化经验包括深入了解依赖关系、差异化处理依赖包的编译策略、合理利用缓存以及在速度与代码质量间做出权衡。这些优化技巧不仅适用于处理 objc2 库,也可应用于其他包含慢速编译依赖的 Rust 项目,有助于提高 Rust 项目的开发效率和编码体验。