Distcc
distccは、他のコンピュータの未使用プロセスを利用し、コンパイル速度の向上を図るよう設計されている。distccがインストールされたマシンはネットワーク経由でdistccdデーモンと、互換性のあるコンパイラをインストールしたコンピュータにソースコードを送信する。
distccはコンパイラエージェントとして機能する。distccdデーモンはネットワークに接続している各マシン上で稼働させなければならない。もともと最初にdistccを走らせたマシンは、ヘッダファイルを取り扱うため、プリプロセッサを起動する。そして、(#ifdefのような)指令文ならびにソースファイルをプリプロセスし、プリプロセスをかけたソースファイルを暗号化処理なしで、もしくはSSHを使用しTCPネットワーク経由で他のマシンに送信する。リモートマシンは受信したソースファイルを(ライブラリ、ヘッダファイル、そしてマクロなど、リンクや展開が必要なデータ等)一切のローカル環境における依存性を排除した上でオブジェクトファイルにコンパイルする。そして次々とオブジェクトファイルを送信元に送り返す。
distccのバージョン3では、pump modeと呼ばれるモードをサポートしており、これは、リモートマシンへのヘッダファイルの送信をサポートしており、これにより、プリプロセス処理も分散化されている。
distccにはGTK+で作成されたフロントエンドも付いており、これを利用することで、どのノードで何のソースコードがどのような処理を行っているか分かる。