Remote Execution Caching Compiler (RECC)
2.03 MB
6 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
文档介绍了Remote Execution Caching Compiler (RECC),这是一款开源的构建工具,支持将编译命令转发到远程构建执行服务。RECC兼容多种编译器(如GCC、Clang、Solaris CC)和操作系统(Linux、macOS、Solaris),并支持跨工具链的缓存共享。其工作原理包括计算依赖树、生成确定性缓存键(包括编译器命令、输入Merkle树校验和、环境变量、操作系统和工具链属性),以及本地或远程的沙盒执行。文档还展示了RECC在彭博金融公司的实际应用成果,包括每日处理数千万次编译、80%的缓存命中率、分布式构建和缓存共享等。 | ||
AI总结 | ||
《Remote Execution Caching Compiler (RECC)》是Bloomberg开发的开源构建工具,支持远程执行和缓存,兼容多种编译器和操作系统。
**主要功能与特点:**
- **功能**:将编译命令转发至本地或远程执行服务,支持缓存和分布式构建。
- **兼容性**:支持GCC、Clang等编译器和Linux、macOS等操作系统,兼容Bazel的远程执行API。
- **性能优化**:通过并行执行和缓存技术提升构建速度,减少重复编译。
**工作原理:**
- **依赖分析**:使用clang-scan-deps生成依赖树。
- **缓存机制**:生成唯一的缓存密钥,确保输出一致性。
- **沙盒执行**:本地或远程执行,支持高并行处理。
**实际效果:**
- **彭博应用案例**:每日处理数千万次编译,缓存命中率达80%,显著缩短构建时间。
- **优势**:适用于开发各阶段,支持小VM 高效构建,与单机性能比较优异。
**架构与扩展:**
- **缓存存储**:支持Redis、CAS、S3和PostgreSQL。
- **分发构建**:基于BuildBox和BuildGrid,提供单机和分布式服务模式。
**获取与安装:**
- **安装方式**:通过Homebrew、Debian包或源码编译安装。
- **资源链接**:提供代码仓库、Slack社区和联系邮箱。
RECC通过远程缓存和分布式执行显著提升构建效率,特别适合大型分布式开发环境。 |
P1
P2
P3
P4
P5
P6
下载文档到本地,方便使用
文档评分