项目简介
Icecream是基于C++的分布式编译系统,通过把编译任务分发到多个计算节点,加速C/C++代码的编译过程。它利用中央调度服务器动态调度编译任务到最快的空闲服务器,以此优化编译效率。
项目的主要特性和功能
- 分布式编译:将编译任务分发到多个节点,显著提升编译速度。
- 动态调度:中央调度服务器依据节点负载动态分配编译任务,实现资源最优利用。
- 跨平台支持:支持Linux、FreeBSD、DragonFlyBSD和OS X等多种操作系统。
- 异构环境支持:可在不同编译器版本和架构的机器上进行编译。
- 集成测试:提供测试套件和单元测试,保障系统稳定性与可靠性。
安装使用步骤
安装依赖库
安装Icecream前,需确保系统已安装以下依赖库: - libcap-ng-devel - libarchive-devel - lzo-devel - libzstd-devel
安装Icecream
- 编译安装:
bash cd icecream ./autogen.sh ./configure --prefix=/opt/icecream make make install
注意:要指定安装前缀(如/opt/icecream
),避免覆盖系统的GCC安装。
配置使用
- 启动调度器和守护进程:
- 在至少一台机器上启动调度器:
./icecc-scheduler -d
- 在多台机器上启动守护进程:
./iceccd -d
- 设置环境变量:
确保
$prefix/lib/icecc/bin
在$PATH
最前面,示例如下:bash export PATH=/opt/icecream/lib/icecc/bin:$PATH
- 编译代码:
使用
make -j <num>
命令编译,<num>
为并行编译的任务数。
示例
bash
make -j6
注意事项
- 防火墙设置:确保防火墙允许Icecream所需端口(TCP: 10245, 8765, 8766 和 UDP: 8765)。
- 编译器路径:确保编译任务使用
/usr/lib/icecc/bin/gcc
等Icecream提供的编译器。 - 异构环境:在异构环境使用Icecream时,确保所有节点上的Icecream版本一致。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】