Distcc
ソフトウェア開発においてdistccとは、コンピュータネットワーク上での分散コンピューティングを利用し、ソースコードのコンパイル速度を改善するツールである。適切な設定を行えば、distccはプロジェクトのコンパイル時間を劇的に低減することが可能となる[1][2]。 このツールはC言語(また、C++、Objective-Cなどの派生言語)と連携するように、そしてGCCをそのバックエンドとして使用するよう設計されている。Intel C++ Compilerやサン・マイクロシステムズのSun Studio Compiler Suiteでの動作報告も上がっているが互換性があるとまでは言えない[3]。distccは自由ソフトウェアであり、GNU General Public Licenseのもと配布される。 設計distccは、他のコンピュータの未使用プロセスを利用し、コンパイル速度の向上を図るよう設計されている。distccがインストールされたマシンはネットワーク経由でdistccdデーモンと、互換性のあるコンパイラをインストールしたコンピュータにソースコードを送信する[4]。 distccはコンパイラエージェントとして機能する。distccdデーモンはネットワークに接続している各マシン上で稼働させなければならない。もともと最初にdistccを走らせたマシンは、ヘッダファイルを取り扱うため、プリプロセッサを起動する。そして、( distccのバージョン3では、pump modeと呼ばれるモードをサポートしており、これは、リモートマシンへのヘッダファイルの送信をサポートしており、これにより、プリプロセス処理も分散化されている[6]。 distccにはGTK+で作成されたフロントエンドも付いており、これを利用することで、どのノードで何のソースコードがどのような処理を行っているか分かる[7]。 関連ソフトウェアccacheは、同一のソースコードを読み込んだ際にキャッシュされた出力結果を再利用することにより、コンパイル時間を低減することを狙ったもう一つのツールである。環境変数 distccはアップルのXcode開発スイートの分散ビルド用のオプションである。 IncrediBuildはMSVC/C++コンパイラを利用する開発者向けの代替ソフトウェアである。 脚注
関連項目外部リンク |