回答:
私はどちらとも言いません。むしろ、高速SSDハードドライブを入手してください。もちろん、適切なCPUとRAMの容量も必要ですが、そうです...
おそらくRAMがあれば、お金の節約になります。コンパイル、特に大規模なアプリケーションは、I / Oを非常に集中的に使用します。RAMを増やすと、ディスクとの間のページング時間を節約できます。今日のほとんどのCPU、特に安価なクアッドコアを使用する場合は、コンパイルに十分なCPUパワーを提供しますが、RAMを使用するとデータのやり取りが容易になります。
第2の考えでは、それは一種の数学シミュレーションとビルドプロセスに依存します。それらは並列化できますか?そうでない場合、新しいIntelチップ(Core i7)はコアごとに非常に高速ですが、コアを追加しても速度を上げることはできません。
計算では、プロセッサが最も重要です。
コンパイルは、プロセッサとRAMの両方に負荷をかけます。
私はあなたの最も費用対効果の高いソリューションはあなたが余裕のある最高のCPU、そしてできればクアッドコアを入手することだと思います。RAMはそれと同じくらい安い(DDR3は今ではDDR2と同じくらい安い)ので、小さなコインに必要なだけのRAMを簡単に差し込むことができます(16 GBのDDR3が$ 180でneweggにあると...それがいかに安いかを実証しようとしているだけです)。だから私はできる限り高品質のCPUにできる限り投資します。
make
して、複数のgccジョブを同時に生成でき-j
ます。また、llvmは、複数のスレッドを使用して単一のファイルをコンパイルできる、またはコンパイルできると考えています。
distcc
(make -j8
(ローカル)からmake -j30
(ネットワーク経由で分散)まで) とほぼ直線的に短縮されます
CPUが搭載されたグラフィックスカードはメインCPUの負荷を軽減できるため、グラフィックスが役立ちます。CPUパワーはおそらくRAMよりも重要ですが、両方が優れているほど、より良い結果が得られます。
物理的な制限により、コア自体がすぐに速くなることはありません。したがって、より高速なCPUに投資するカスタムシリコンに移行する計画がない限り、並列化が実際に違いをもたらさない限り、多くのソフトウェアが4コアを超えることはほとんどありません。 、システム全体をコンパイルすることが非常に多く、リソースの統計を何度も見に行くので、私はそれを知っています。さらに、開発者が並列化を増やしたいと思ったとしても、それを良い方法で作ることは時々困難です。CPUに投資することは、サービスのパフォーマンスを向上させるか、最初にデータに基づいて計算を行う場合に適しています。それが後で実行動作に影響する場合でも; コンパイルがこれらのパターンのいくつかに従っている場合、議論するのは難しいかもしれませんが、これらはビルドプロセスのいくつかの特別なケースです。そのため、たとえば、グラフィカルコンピューティングでは、より多くのコアが依然として変化をもたらします。その他、できる限りI / Oを増やすためにできることを行います。ディスク、RAM、マザーボードが関係する場合があります。