- - PR -
デュアルコアCPU実装PCでのマルチスレッドの有効性について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-12 20:14
まず、普通にシングルスレッドで動くプログラムを作って、それを1プロセスで動かした場合の CPU 使用率を測ってみてはどうでしょうか。シングル CPU で 100% に近い値になる(デュアル CPU ならば 50% 等、要はひとつのスレッドで CPU がフルに動く)ならば、マルチスレッドにすれば効果があるでしょう。もし使用率が高くないなら、この時点で、目論まれている処理はネックが CPU ではなくディスクI/Oにあることになり、マルチスレッドにしても効果はありません。
次に、上記のプログラムを複数CPU上で、複数プロセス(数は CPU の個数分)で同時に動かしてみて、CPU 使用率が 100% に近くなるかを調べてはどうでしょうか。これでうまくいくようなら、あとは単にプログラムをマルチスレッド対応にするだけで、効果は同じだと思います。
ログ出力は、どれぐらいの頻度なのでしょうか。ログ出力のディスクI/Oの仕方にもよりますが、あまり頻繁だと、微妙にスレッドの状態が変わり、CPU 使用率が落ちることもあります。 #以下、あとで追加。 前半(「まず」〜「マルチスレッドにしても効果はありません。」あたりの部分)は、勘違いです。見当外れでした。分かりません。 -- unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86} [ メッセージ編集済み 編集者: unibon 編集日時 2006-07-12 20:24 ] |