为什么你应该尝试使用 Sccache

为什么你应该尝试使用 Sccache

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

Sccache是Mozilla团队发起的一个类似ccache的项目,支持C/CPP、Rust等语言,可以本地存储或者云端存储后端。在v0.3.3中,Sccache增加了对Github Action Cache Service的原生支持,在后续的v0.4.0-pre.6中,社区继续改进了这一功能,现在可以在生产CI中使用。Sccache的优势包括:简单的部署配置、多语言支持、在大多数情况下更快、友好的并发任务、无缓存冲突、无厂商锁定、积极维护。它可以替代rust-cache,在缓存命中率提高的情况下,比rust-cache提升最多50%的性能。

🎯

关键要点

  • Sccache是Mozilla团队发起的类似ccache的项目,支持C/CPP、Rust等语言,支持本地和云端存储。
  • 在v0.3.3中,Sccache增加了对Github Action Cache Service的原生支持,v0.4.0-pre.6中继续改进,现可用于生产CI。
  • Sccache的优势包括:简单的部署配置、多语言支持、在大多数情况下更快、友好的并发任务、无缓存冲突、无厂商锁定、积极维护。
  • Sccache可以替代rust-cache,在缓存命中率提高的情况下,性能提升最多可达50%。
  • Sccache的部署配置简单,无需指定共享密钥,支持多种编译器的缓存。
  • Sccache在大多数情况下更快,缓存编译产品,无需提前加载整个缓存。
  • Sccache支持多个并发任务之间共享缓存,无需等待构建结束。
  • Sccache通过对每个构建产品输入进行哈希计算,构建全局无冲突缓存。
  • Sccache不依赖于特定的存储服务,支持多种存储服务的无缝迁移。
  • Sccache由开发者积极维护,用户可以直接提交反馈。
  • Sccache的缓存加载逻辑不依赖于Cargo.lock,允许在依赖项变化时重用缓存。
  • Sccache可以与C/C++编译缓存共享,支持多种编译器。
  • 用户可以通过sccache-action在Github Action中更好地使用Sccache,配置简单。
  • Sccache在Rust项目编译中使用GHA Cache的新方式,具有多项优势。
➡️

继续阅读