ビルド時間を短縮する方法は? (C#/アンマネージC ++)
質問
現在作業中のレガシーアプリは、ビルドに2時間ほどかかります。プロジェクトには約150のプロジェクトがあり、150ほどのアンマネージC ++と30のC#.Net 2.0です。
このようなもののビルド時間を改善する方法に関する提案は何ですか?
解決
C ++プロジェクトに焦点を当てる-ビルドの最大の時間の浪費になることがほぼ保証されています。
C ++のビルド時間を短縮するためのヒント:
- C ++プロジェクトで必要なヘッダーのみを含めるようにしてください!
- 他のヘッダーを含める代わりに、ヘッダーで可能な限り前方宣言を使用する
- 可能であれば、/ MPスイッチを使用して並行してビルドします
- 抽象化を効果的に使用する
- インライン関数はコンパイル時にコストがかかるため、使用を控えてください
- 依存関係を正しく取得し、必要なビルドを頻繁に行わない
- プリコンパイル済みヘッダーを適切に使用する
それとは別に、2時間のビルド時間について話している場合、多くの場合、単純で安価な(全体像として)ソリューションもあります。
- ハードウェアをアップグレードして、計算時間を短縮します
他のヒント
ビルドする必要があるすべてのマシンに IncrediBuild をインストールすると、ビルドプロセスがすべてのマシンに分散されますマシンの。 本当に問題にハードウェアを投げたいだけなら、IncrediBuildクライアントとしてのみ機能するいくつかの専用マシンをセットアップできます。
異なる規模で、すべてのプロジェクトにプリコンパイル済みヘッダーが正しく構成されていることを確認してください。
分散ビルドシステムIncredibuildを試すことができます: http://www.xoreax.com/visual_studio。 htm
プロジェクトの関連サブセットのみを含むプロジェクトの複数のソリューションを作成し、リリースなどのために1つのスーパーソリューションを残します。
所属していません StackOverflow