1000個のVisualStudio C ++プロジェクトのアセンブリを高速化する方法

こんばんは、親愛なるhabrayuzery。

この投稿へのコメントをコピーしないように、このトピックを書くことにしました。 ここで私たちのソリューションを説明します



変更前:

完全なアセンブリ(クリーン)には約4.5時間かかりました

増分アセンブリ(連続)には約30分かかりました。

変更後:

完全な組み立て-約40分。

増分アセンブリ-2-3分





入力データ:

鉄(専用ビルダーマシン):Intel Xeon E5430 @ 2.66Hz、4 GB RAM

開発環境:Windows XP、2003、7、2008。VisualStudio 6、2005、2008、2012。

アセンブリには、約1000個のC ++プロジェクトが含まれます。〜3MLN LOC



仕組み:

優先度順にコンパイルする必要のあるプロジェクトのリストを含むファイルがありました。

ビルドスクリプトはこのファイルを処理し、各プロジェクトのコンパイルを順番に開始しました。

したがって、アセンブリ時間は、プロジェクトの数に比例して月ごとに増加し、ある時点で、私たちにカテゴリー的に合うのをやめました。



変更点:

残念ながら、すべてが一度に変更されたため、各変更の正確な効果を説明することはできません。

すべての変更がアセンブリを2〜3回加速したように感じます。



私たちにとって最も難しい部分は、各プロジェクトの依存関係ファイルを作成することでした。 ここでは、その方法を説明しません。 これが誰にとっても面白いかどうかはわかりません。



誰かが私たちの経験を役立ててくれることを願っています。



All Articles