pdf文档 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
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.