Afin de gagner du temps, si vous disposez de plusieurs machines sur un réseau. [1]

Il est pratique d'utiliser distcc

C'est un outil de compilation distribuée. Il utilise plusieurs machines, afin de compiler des portions de sources sur chacune d'elle. Exemple : Le Noyau linux composé de centaines d'éléments (modules, coeur du kernel)

Installation

apt-get install distcc

Usage

Ensuite, quand par exemple vous compilez un noyau linux, voici quelques benchmarks :

Avec 4 Serveurs :

time make -j20 CC="distcc"

real 2m45.548s user 2m6.261s sys 0m48.546s

time make -j30 CC="distcc"

real 2m44.965s user 2m7.099s sys 0m48.728s

time make -j15 CC="distcc"

real 2m45.112s user 2m3.939s sys 0m47.126s

time make -j15 CC="distcc"

real 3m10.274s user 1m55.813s sys 0m42.839s

Etat de la compilation

Installez ce paquet :

apt-get install distccmon-text

Ensuite, lancez :

watch -n1 distccmon-text

Problèmes possibles

Il est important d'avoir le même compilateur sur les machines, cela évitera d'avoir des choses étranges

$ gcc -v gcc version 4.0.3 20060304 (prerelease) (Debian 4.0.2-10)

Notes

[1] 100 Mb/s de préférence, l'idéal : gigabit