回答:
私が見つけた最大の違いは、物理的な要因ではなく、ソフトウェアの要因です。どのアンチウイルスをインストールしましたか?
ウイルス対策製品の中には、ソフトウェア開発をうまく処理できないものもあります。これらのアプリケーションファイルはすべて書き換えられ、不正行為の疑いがあり、毎回すべてのファイルを再スキャンします。
(詳細については、https://stackoverflow.com/questions/1170078/is-it-usual-for-aspx-files-to-take-5-10-seconds-to-save/1170129#1170129を参照してください。)
一方、既存のマシンのパフォーマンスを改善したい場合、利用可能なメモリを最大限に活用してすぐに勝つことができます。
これは、MSBUildで複数のCPUを使用することに関するScott Hanselmanの素晴らしい研究です。高速化はかなり劇的です。
編集:ただし、Visual Studioを使用して優れたエクスペリエンスを得るには、十分なRAMが必要です。:)
かなりのサイズのC ++コードベースでの私の個人的な経験:
プロセッサー: Pentium 4 HT 3.06 GHz
メモリ: 1 GB DDR RAM(PC 2100、したがって333 MHz)
ディスク: 7200 RPMハードドライブ(メモリが機能する場合は、UDMA 100)
コンパイル時間:50分
プロセッサー: 1.6 GHzのCore i7 720QM(8論理プロセッサー)、すべてのコアがアクティブな場合に1.73 GHzにターボブースト
メモリ: 1066 MHzの8 GB DDR3 RAM
ディスク: 7200 RPMハードドライブ(SATA 2)
コンパイル時間:4分(/ MP)
結論:プロセッサが多ければ多いほど、クロック速度が比較的低い場合でもメリットがあります。SSDは時間をさらに改善しますが、コンパイルメッセージを観察すると、30秒以上も改善されるとは思いません。
C ++プログラムを構築する場合、他の何よりも重要な要素は構造的なものです。ソースコードが非常に垂直に構造化されている場合、ビルド時間、特にインクリメンタルビルドに壊滅的な影響を与えます。クアッドコアXeonの劇的な改善のために、プロジェクトのいくつかの部分をローカルで再構築しました。18か月後、彼ら(プロジェクトを所有している人々)は、Core i7マシン上でも私のウォールクロックのビルド時間と一致させることができません。
ソフトウェアレイアウトの効果(ポジティブまたはネガティブ)は、チームのすべてのメンバーとチームが実行するすべてのビルドで増加します。
Xoreax IncrediBuildは、私が働いているコンパイル時間を大幅に改善した分散ビルドシステムです。(残念ながら、特にプログラム全体の最適化とリンク時コード生成を使用したリリースビルドでは、リンク時間がかなり長くなりますが、それは予想されることです。)