Como acelerar minha compilação

5

Estou fazendo uma compilação em uma máquina Linux com o Ubuntu 10.04. Como posso realmente acelerar minha build? Eu tenho 4 CPUs e muita memória RAM. Eu já renomei o grupo de processos para -20. Há mais alguma coisa que eu possa fazer?

    
por abc 25.08.2011 / 22:00

3 respostas

14

A maioria dos processos de criação de software usa make . Certifique-se de fazer com que make use o argumento -j com um número geralmente cerca de duas vezes o número de CPUs que você tem, então make -j 8 seria apropriado para o seu caso.

    
por 25.08.2011 / 22:21
10

Renunciar o grupo de processos para -20 é uma má ideia. Esse nível de conveniência deve ser usado apenas pelas tarefas críticas de alta prioridade do sistema. Caso contrário, você pode perder a capacidade de resposta ou até mesmo congelar o sistema. E o benefício potencial em tempo de compilação seria marginal.

Além do que o Caleb já sugeriu , se você compilar muito, você também pode acelerar as compilações usando o cache do compilador ou distribuir as tarefas de compilação em vários computadores em uma rede usando distcc ou sorvete .

    
por 25.08.2011 / 23:40
2

Adicionando a resposta do rozcietrzewiacz:

O primeiro grande aprimoramento seria os discos, use discos IOPs mais rápidos, ou seja, algo que funcione a 10.000 ou 15.000 rpm, idealmente SSD e, em seguida, você está limitado apenas por sua bolsa.

Exemplo aleatório, o SSD SATA 2 de 6 Gbps da Samsung:

link

OCZ tem alguns dos hardwares mais extremos, 500.000 IOPs:

< p > pl / "> link

Você pode tentar copiar a árvore para um sistema de arquivos tmpfs , mas o cache de arquivos do Linux já é muito bom.

Para uso rápido de desenvolvimento, a compilação seria mais rápida se você desativasse todas as otimizações. Estes tendem a ser ajustes de era dos anos 90 quando os processadores eram lentos, é praticamente tudo sobre IO agora.

A abordagem mais complicada que posso imaginar é usar cramfs para armazenar uma grande parte da árvore que não muda. Usar um sistema de arquivos compactado significaria menos acessos ao disco.

    
por 26.08.2011 / 05:56