01 outubro 2004

ccache e distcc

O ccache, junto com o distcc são duas ferramentas simples para otimizar a compilação de código-fonte, e em particular ajudam muito quando você tem um trabalho hercúleo, como compilar o Gentoo todo.

O ccache é um cache para o compilador, agindo como um cache para o pré-processador do gcc. Dessa forma, ganhamos um tempo na compilação, segundo o site até 10 vezes mais rápido. Segundo o site, numa linuxbox, compilando o samba, cai de 13 minutos para quase 3, apenas. E dá para casá-lo junto do Gentoo.

O distcc é um compilador distribuído: Você instala-o em cada um dos servidores, levanta um serviço (distccd) e configura (coisa rápida). Daí, quando for compilar, usa um make -jN CC=distcc, onde N é o número de processos (N = no de servidores + 1). E ele distribui a compilação, direitinho!

Fiz um teste ontem, compilei um kernel (2.6. 8.1) no firewall, que é um Athlon XP 1700, 256 Mb de RAM. Completo, foram 11 minutos, 30 segundos. Limpei, e fiz uma compilação distribuída. As outras máquinas eram bem inferiores (um Pentium II 300 com 64 Mb de RAM e o meu bravo Cyrix M2 PR 233 com 64 Mb de RAM). O tempo total foi de 10 minutos e 40 segundos. Bem, ganhei 50 segundos. Não é muita coisa, mas com o que tenho... Está bom.

Estou vendo a possibilidade de usar uma distro de live-CD, rodar com o distcc e usar um laboratório inteiro (8 máquinas) para compilar algo realmente estrondoso, como um kernel, ou o Gentoo para uma máquina (teremos feira de ciências, laboratórios desocupados, etc), coisas assim.

É por essas e muitas outras que eu gosto do Linux.

0 Comments:

Postar um comentário

<< Home