回答:
開発チームは、非常に高速なハードウェアを使用しています... 2010年1月現在、開発マシンあたり6,000ドル以上。
1つのコンポーネントが私たちのために作った最大の違い(一度に1つのものをテストしました)は、非常に高速なI / Oを追加し、そのハードウェアにすべてのソースコードを置くことでした。約10種類の構成(VRaptors、SSDなどを備えたさまざまなRAID)を試しましたが、思いついた最高のアイテムはFusion IOのIOXtremeドライブでした。
http://www.fusionio.com/products/ioxtreme/
ドライバーは、フォーマットされたブロックサイズがドライブ上にあるほど、大量のRAMを「ロック」するため、大量のRAMが必要になります。
これらの不良少年は不揮発性であり、ランダム読み取りと書き込みの両方で高速です。お金のために、リグをより速くコンパイルすることはできませんでした。
私はあなたにアイデアを与えるために本当に速いコンパイルをするでしょう...
すべてのコードを使用したマスターソリューションには、現在37プロジェクトがあり、Visual Studio Code Metricsの結果によると、合計92,281行の「実行可能な」コードがあります。IDEでDEFAULT C#開発者設定でコンパイルする(必要に応じて客観的にデフォルトと比較できるようにすべての設定をリロードするだけです)には22秒かかります。RAID 5の3つのヴェロキラプトルを備えた同一のマシンでは、29秒かかるため、約24%増加します。
このテストは、CLEAN SOLUTIONに続いてREBUILD SOLUTIONを使用して実行されたため、完全にコンパイルされるはずです。
皆さんのことは知りませんが、小規模から中規模の変更の後に頻繁にコンパイルします。おそらく1日あたり平均80〜100回。つまり、IOXtremeドライブだけで1日9.3分節約できます。1時間あたり70ドル(開発者の平均レート)で、開発者1人あたり1日10ドルです。そのため、それ自体の支払いには約90日かかります。本当に悪くない...彼らはこの時点で無料です。
また、私は本当に、コンパイル時間は開発者の注意散漫のしきい値を超えることは決して許されないと強く感じています。2分間お待ちください... WikiまたはGoogleまたはYoutubeで時間を無駄にしています。それを測定するのははるかに難しいです。
それでは、リグ全体は次のようになります。
Windows 7 Professional 12GB RAM 2x Quad Core Xeons(E5504)@ 2.00 GHz。マシンごとに合計8 GHz。Highpoint 2320 RAIDコントローラーサーバーMobo(モデルを忘れて申し訳ありません)RAID 5の3台のVelociraptor、C、D、およびEドライブに分割されています。C上のWindows、D上のプログラム、E上のユーザーデータフォルダ。ドライブFとしてのIO Xtremeドライブ。すべてのコード(当社およびサードパーティDLL)はドライブFにあります。
幸運を祈ります!
同様の質問がここにあります:どのPCコンポーネントがVisual Studioのコンパイル時間に最大の影響を与えるか。
最大のボトルネックは、Visual Studioでビルドを行う際のディスクドライブです。Visual Studio 2008では、ビルド中に複数のプロセッサまたは複数のコアを利用することもできます。それが私だったら、私は次のようにします:
参考文献:
私はから、RAMドライブを使用しDATARAM。Visual StudioはすべてのPCコア(8コア)を使用するわけではないため、私がしたことは、RAMドライブをNTFSでフォーマットし、圧縮を有効化することでした。 コーディングされたソースの圧縮率は高いため、2GBのRAMドライブは少なくとも4GBのストレージを提供します。ramdriveの自動保存を有効にすることもできます!この方法により、SSDよりも高速な最速のIOが得られます。ただし、IOがボトルネックでない場合、VSはマルチコアの使用が非常に悪いことに気付くでしょう。