
具体的には、i5-3570k または FX-8350 のいずれかを検討していますが、複数のコアによって一般的なマルチタスクがどのように改善されるかという、より一般的な具体的な質問について考えるようになりました。
たくさんのレビューやベンチマークなどを読んできましたが、基本的にすべて同じことを言っています。つまり、アプリケーションが 4 つ以上のコアを活用するように特別にコーディングされていない限り、ほとんどのアプリケーションでは、クロック速度が速い 4 コアの I5 の方がクロック速度が遅い 8 コアの FX よりも優れています。特にゲームは i5 でより良く動作します。
しかし、読んでいるうちに、ほとんどすべてのベンチマークが真空状態で行われていることに気付きました。つまり、そのベンチマークまたはソフトウェアだけがテスト対象になっているのです。しかし、これは特定のソフトウェアをテストするには良いのですが、現実世界のシナリオとはほとんど言えません。
たとえば、1 日のどの時点でも、複数のタブを持つ複数のブラウザー、おそらく Photoshop または Visual Studio、複数のバックグラウンド プログラム (ウイルス対策、Steam、keepass など) が開いていることがあります。これは、作業量が少ない日の場合です。
そこで私の質問は、理論的には、より高速な 4 コアでは個々のソフトウェアを単独でより高速に実行できる一方で、8 コア プロセッサは、必ずしも 8 コアに最適化されていなくても、複数のソフトウェアを同時に実行する方が優れているのではないでしょうか。
答え1
Linux CPU負荷
一つの有用な尺度はLinuxのコンセプトであるCPU負荷基本的に、各 CPU コアは 1.00 の使用可能な負荷単位であり、コアの 100% で実行される各タスクは 1.00 の使用される負荷単位であると考えてください。処理集約型サーバーの場合、理想的な負荷はおそらく CPU コアの数とまったく同じです (4 つの CPU コアの場合は 4.00 の負荷)。
ビジー ループ ("while(true)" など) は、1 つの CPU の 100%、つまり 1.00 ロード ユニットを占有する可能性があります。シングル スレッド ベンチマークも 1.00 でピークに達します。マルチコアに最適化されたベンチマークは、FX-8350 で利用可能な最大 8.00 コアまで、より多くのコアを占有する可能性があります。
しかし、ほとんどのアプリ (Chrome + Firefox を開いている、Photoshop、Visual Studio) は、バックグラウンドで実行されているときはそれほど CPU を消費しません。確かに、アプリは複数のコアで実行できますが、使用可能な時間の 10% (0.10 ロード ユニット) しか使用しない場合は、これら 4 つのアプリのロードは合計で 0.40 になり、複数の CPU コアを持つことによるメリットはほとんどありません。同様に、ディスクやネットワーク アクセスをブロックしているアプリケーションは、待機中に CPU 時間を使用しません。
平均負荷 > 4.00
アプリケーションの負荷が 4.00 から 8.00 の間である場合、FX-8350 のパフォーマンスが際立つ可能性があります。4 コア CPU で 5.00 の負荷が発生すると、CPU リソースの競合が激しくなり、タスク間の切り替えによってオーバーヘッドが増大する可能性があります。
平均負荷 < 4.00
ただし、あなたの質問は、計算がそれほど明確ではない場合、つまり、4.00 未満のワークロードで 8 コアの方が優れているかどうかに関するものであるようです。かなり一定のサーバー タイプのワークロードの場合、いくつかのベンチマークを実行して、実際にメリットがあるかどうかを確認できます。常に変化する、日々のコンピューティング ワークロードの場合、明確な勝者はいません。
答え2
それは、アプリケーション、OS、そしてその動作の実行方法によって大きく異なります。
アプリケーションがシングルスレッドとして設計されている場合、コアを追加してもパフォーマンスは向上しません。ただし、オペレーティング システムが作業をこのように分散できるほどスマートであれば、他のコアを使用して追加のアプリケーションを実行できます。したがって、コアを追加すると、特に複数のアプリケーションを同時に実行する場合、わずかな追加の利点が得られる可能性があります。
コアを追加しても、I/O 機能は向上しません。そのため、アプリケーションが主に I/O 依存である場合、コアを追加してもパフォーマンスはそれほど向上しない可能性があります。