4

非常にサーバーボックス(合計32または64コア)でC ++コードをコンパイルしているので、コンパイル時間を短縮するためにコンパイラオプションを微調整する方法はありますか?たとえば、複数のスレッドを使用して独立した.cppファイルをコンパイルするようにコンパイラーに指示します。

4

4 に答える 4

4

Sun Studioには、含まれているdmakeバージョンのmakeに並列ビルドのサポートが含まれています。詳細については、dmakeのマニュアルを参照してください。

于 2010-07-09T02:59:48.157 に答える
4

これは、使用しているツールチェーンによって異なります。

GNU Makeを使用している場合は-j 32、make呼び出しに追加して、Makeに(たとえば)32個のジョブを並行して開始するように指示します。その結果、RAMを使い果たしてスワップファイルをスラッシングしていないことを確認してください。

于 2010-07-09T01:20:55.030 に答える
3

この種のマルチスレッドを実行するBoostJAMのようなものを使用してください。私の経験からすると、マルチスレッドのmakeよりもはるかに効率的です。

于 2010-07-09T01:37:29.180 に答える
0

SunのC++コンパイラには-xjobs、コンパイラが内部で複数のスレッドをフォークするオプションもあります。これを効率的にするには、おそらくすべての.ccファイルをCCの1回の呼び出しに渡す必要があります。

于 2011-03-24T22:14:06.827 に答える