Se um pacote for compatível, você poderá usar o sinal -j
para permitir a execução de tarefas paralelas, por exemplo:
make -j8
Mais detalhes sobre esse sinalizador podem ser encontrados na pergunta sobre o Stackoverflow Por que o desempenho do -j é melhor quando é passado um número maior que o número de núcleos disponíveis? .
Compilação distribuída
Se você tiver várias máquinas, dê um distcc . Nas máquinas envolvidas, sudo apt-get install distcc
. Supondo que sua máquina de compilação é 192.168.1.1:
-
nas máquinas auxiliares, execute:
sudo distccd --log-file=/tmp/distccd.log --daemon -a 192.168.1.1
-
Na máquina de compilação, antes de executar
configure
oucmake
, é necessário especificar os hosts que você deseja usar para o processo de compilação. Opcionalmente, especifique o número de trabalhos simultâneos após uma barra (com o padrão de 4):export DISTCC_HOSTS='localhost/4 192.168.1.2/8 192.168.1.3/8'
Faça o compilador usar o distcc:
export PATH="/usr/lib/distcc:$PATH"
Agora,
configure
oucmake
do aplicativo e compilação com:make -j$(distcc -j)
Observe que, se você colocar
/usr/lib/distcc
duas vezes no seu PATH, ele falhará. Não se esqueça de definir/usr/lib/distcc
apenas uma vez no seuPATH
.
Para mais detalhes, veja as páginas de manual de distcc (1) e distccd(1) .