• 締切済み

シングルコアでも並列処理は意味がありますか?

複数台のサーバや、マルチコアCPUのマシンであれば、並列処理の意味が分かるのですが、 シングルコアのマシンで並列処理することはどれほどの意味があるのでしょうか? 例えば、同様の2つの処理を2台のサーバで処理させれば、処理時間は約半分になると思いますが、1台のマシン、1つのCPUに、分割した処理をお願いしても、処理時間が速くなるように思えません。 実際はどうなるのでしょう?

みんなの回答

  • takoashi
  • ベストアンサー率39% (21/53)
回答No.1

待ちが発生するような処理の場合は、意味があります。 ネットワークやハードウエア制御関連に多いです。 ハードディスクからデータを読み込むとき、 読み込んでいる瞬間は、CPUを利用していません。 そのときに、別のスレッドで処理ができると効率が上がります。 ※シングルスレッドで非同期アクセスでも可能 サーバ等も、もしシングルスレッドだったらと考えてみるとよいかもしれません。

sweepea
質問者

補足

ありがとうございます。 データベースでディスク読み出しの際には意味があるということですね? ということは、裏を返せば、ネットワークやハードディスクは利用せず、 メモリだけで完結するような処理は、あまり意味がないと考えてよいですか?

関連するQ&A