Lek*_*eyn 13
如果包支持它,您可以使用该-j标志来允许并行作业运行,例如:
make -j8
Run Code Online (Sandbox Code Playgroud)
有关此标志的更多详细信息可以在 Stackoverflow 问题中找到为什么 make -j 在传递的数字大于可用内核数时表现更好?.
如果您有多台机器,请试一试 distcc。在涉及的机器上,sudo apt-get install distcc. 假设您的构建机器是 192.168.1.1:
在辅助机器上,运行:
sudo distccd --log-file=/tmp/distccd.log --daemon -a 192.168.1.1
Run Code Online (Sandbox Code Playgroud)在构建机器上,在运行之前configure或者cmake您必须指定要用于构建过程的主机。或者,在斜杠后指定并发作业的数量(默认为 4):
export DISTCC_HOSTS='localhost/4 192.168.1.2/8 192.168.1.3/8'
Run Code Online (Sandbox Code Playgroud)
让编译器使用 distcc:
export PATH="/usr/lib/distcc:$PATH"
Run Code Online (Sandbox Code Playgroud)
现在configure或cmake应用程序并构建:
make -j$(distcc -j)
Run Code Online (Sandbox Code Playgroud)
请注意,如果您/usr/lib/distcc在 PATH 中放置了两次,它将失败。确保/usr/lib/distcc在您的PATH.
有关更多详细信息,请参阅distcc(1)和distccd(1)的手册页。