distccは分散C / C ++コンパイルツールであり、ccacheはコンパイル情報をキャッシュし、2つの組み合わせによりコンパイル速度が大幅に向上します。
0.インストールする前にgcc、g ++、およびpython環境をインストールし、Binutilsツールキットをインストールします。
yum install -y gcc
yum install -y gcc-c++
yum install -y python36
yum install -y python3-devel
yum install -y binutils-devel
次に、https://distcc.github.io/にアクセスしてdistccをダウンロードし、新しいバージョン
https://github.com/distcc/distcc/releases/download/v3.3.3/distcc-3.3.3.tar.gzを推奨します。
- distccをインストールします
#解压
tar -xvf distcc-3.3.3.tar.gz
#安装
cd distcc-3.3.3
./configure && make && sudo make install
- ccacheをインストールし、1つのコマンドで取得します
yum install -y ccache
- 構成
distccが3台のマシンにデプロイされると仮定すると、それぞれ
192.168.1.2
192.168.1.3
192.168.1.4であるため、
最初にこれら3台のマシンで手順0、1、および2を実行する必要があります。
次に、.bashrc(vim〜 / .bashrc)を編集し、最後に以下を追加します
export DISTCC_HOSTS="192.168.1.2 192.168.1.3 192.168.1.4"
export DISTCC_POTENTIAL_HOSTS="192.168.1.2 192.168.1.3 192.168.1.4"
export DISTCC_LOG="./distcc_runtime.log"
構成を有効にするには、〜/ .bashrcをソースすることを忘れないでください。そうしないと、次回セッションにログインしたときにのみ有効になります。
- distccdを実行する
distccd --daemon --allow 192.168.1.2/8 --user nobody--enable-tcp-insecure
チェックしてください
[root@localhost ~]# ps -ef|grep distcc
nobody 21779 1 0 Dec18 ? 00:00:00 distccd --daemon --allow 192.168.1.2/8 --user nobody --enable-tcp-insecure
nobody 21780 21779 0 Dec18 ? 00:00:00 distccd --daemon --allow 192.168.1.2/8 --user nobody --enable-tcp-insecure
nobody 21781 21779 0 Dec18 ? 00:00:00 distccd --daemon --allow 192.168.1.2/8 --user nobody --enable-tcp-insecure
nobody 21782 21779 0 Dec18 ? 00:00:00 distccd --daemon --allow 192.168.1.2/8 --user nobody --enable-tcp-insecure
nobody 21785 21779 0 Dec18 ? 00:00:00 distccd --daemon --allow 192.168.1.2/8 --user nobody --enable-tcp-insecure
- クライアントの構成と操作、主にCCとCXXの2つの環境変数
cmakeを使用する場合、
CC="distcc ccache cc" CXX="distcc ccache g++" cmake ..
または、手順3のよう
に、ユーザー構成ファイルにexport CXX = "distcc ccache g ++"を追加します。
小さなプロジェクトでテストしました。distcc+ ccacheを使用した後、コンパイル時間が5分から1分に短縮され、非常にクールでした。さらに、コンパイル時に、クライアント側のdistccmon-text nを介して分散コンパイルステータスを表示できます(nはn秒ごとの更新を表します)。これにより、コンパイルするさまざまなソースコードファイルがさまざまなマシンに配布されることがわかります。効率の向上。
diatcc + ccacheは、開始が簡単で、便利で使いやすく、時間のかかるC / C ++コンパイルの問題をある程度軽減します。