Visual C#2008 のハードデータがあります。短いバージョンでは、高速のI / Oより高速のCPUにお金を使うのが最善です。より長い答えが続きます...
私たちのC#(.NET 3.5)ソリューションには、200万行を超えるコード(コメントと空白行を含む)を含む81のプロジェクトが含まれています。数年前に、標準のHDDを備えたPentium 4 3 GHz PCから、10,000 RPM WD Raptor HDD(74 GB)を備えたCore 2 Duo 2.6 GHz PCにアップグレードしました。スピードアップは計り知れませんでした。3.5分まで約10分。これらすべては、4 GBのRAMを搭載したWindows XP Pro 32ビット環境にあります。
また、1ギガバイトのi-RAM(詳細はグーグルでご覧ください)も入手しました。これは、基本的にはバッテリーバックアップ付きのRAMハードディスクです。読み取り速度は速いが書き込み速度は遅いSSDとは異なり、i-RAMはどちらの速度も高速ですが、電源が失われた場合、バッテリーは約12時間しか持続しないため、チェックインに注意する必要があります。これにより、10,000 RPM Raptor HDDと比較して、Core 2 Douプラットフォームでのコンパイル時間がさらに1分短縮されました(最短2.5分)。
私はそれ以来、これらの古い74 GB 10,000 RPMラプタードライブは、ガーデンのさまざまな7,200 RPMモダンドライブよりも少し遅いことを発見し、ベンチマークのコンパイルが一貫して行われることを証明しました。新しいヴェロキラプトルを試したことはありませんが、確かに高速ですが、コンパイル時間だけでは十分とは言えません。
先週、G.Skill Falcon 128 GB SSD(Indilix Barefootコントローラー搭載)と2番目のドライブとして標準の500 GB HDDを備えた新しいIntel Core i7-870プラットフォームを入手しました。また、i-RAMをこのPCに取り付けて、すべての構成をテストしました。
HDDで3.5分、i-RAMで2.5分でコンパイルされたCore 2 Duoと比較して、i7-870はSSD、HDD、i-RAMで1分40秒でコンパイルでき、3秒かかります。
したがって、どちらの場合も開発者のワークステーションをアップグレードしましたが、C#コンパイル時間のパフォーマンス向上の大部分は、ディスクよりもCPUの高速化によるものです。コンパイル時間を短縮したい場合は、ディスクではなくCPUにお金を投入してください。
そうは言っても、SSDはVisual Studioを読み込んでソリューションを開く方がはるかに高速です(ただし、そのためのタイミングはありません)。SSDを購入できる余裕があれば、PC上のすべてのプログラムが非常に高速に読み込まれるため、元に戻すことはできません。しかし、それはあなたのコンパイルを大幅にスピードアップしません。これは、Visual Studio C#がシングルスレッド化されているためです。マイクロソフトが共同で行動し、IDEでコンパイラをマルチスレッド化した場合、実際にはこれらの4つのコアを使用できます...
2012年5月の更新: PCを再びアップグレードし、CPUパフォーマンスに焦点を合わせる前に学んだ内容に基づいています。新しいPCには、Intel Core i7-2600k CPUが4.6 GHzにオーバークロックされており、Intel 510シリーズは120 GB SATA III SSD、16 GB RAM、大容量のCPUクーラーを備えています。驚いたことに、これによりコンパイル時間がほぼ半分になり、私は確かにこれを、より高速なSSDではなくCPU馬力の非常に大きな増加に帰着させました。
Visual Studio 2010でのC#コンパイルのパフォーマンス結果は次のとおりです。
- 159秒:Intel Core i7-870ストック(2.9-3.3 GHz)、SATA II SSDを搭載した4 GB RAM
- 109秒:Intel Core i7-2600kストック(3.4-3.8 GHz)16 GB RAM、SATA III SSD
- 84秒:Intel Core i7-2600kオーバークロック(4.63 GHz)16 GB RAM、SATA III SSD