我为一个小型 C++ 项目安装了 distcc 和 Cmake。我有两台机器:所以有一台在本地完成编译的客户端和一台在“远程”完成编译的服务器。
我已按照说明安装和配置 distcc,但使用以下简单步骤编译项目时没有发现任何改进:
CXX="distcc g++" cmake my_project && make -j4
我检查了客户端和服务器机器上的所有内容,并没有看到任何特殊行为。日志中的所有返回代码均为 0(OK),并且没有错误消息。这就像一切都在工作,但没有时间增益。我还安装了 distccmon-gui 工具并检查了两台机器在编译期间是否都在使用。
最后我确实用4台机器试了一下,得到了同样的结果,也就是0提升。
唯一看起来很奇怪的是通信时间:
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:151ms
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:156ms
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:182ms
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:201ms
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:163ms
COMPILE_OK exit:0 sig:0 core:0 ret:0 time:202ms
即使在 localhost 机器上,每个执行的作业的延迟也约为 200 毫秒。
最后,当我使用 distcc 时会有一点时间开销,我将其归因于服务器和客户端之间的通信。
有没有人已经对 distcc 有过这样的问题并且知道我应该去哪里看,或者我应该去哪里调查?我真的坚持这一点,并相信 distcc 应该给我带来额外的性能!
有任何想法吗 ?请帮助:=)
谢谢