Core 2 Duoはやっぱりもっさりだった Part20

このエントリーをはてなブックマークに追加
162Socket774
>>156
> やってみた
> 9〜10秒ぐらいに遅くなった…
ありがとう、やっぱりそうなるよな。

Windowsのタイムスライスはクォンタムと称する実行単位で時間管理されていて
1つのスレッドに一度に与えられるクォンタム数はCPU性能により規定値が決まる。
尚、OS設定としてクライアント型(操作優先型)とサーバー型(バッチ優先型)に分けられる。
クライアント型だとバックグランドのスレッドに与えられるクォンタムは10程度で、フォアグランドだと30程度となる。
サーバー型だとバックフォアともに60程度となっており、他に優先するスレッドがなく稼働中のスレッドがWAIT状態にならぬ限り、
手持ちのクォンタムを消費し尽くすまでCPU使用権が与えられ続ける。
これに対し、現在実行中スレッドよりプライオリティが高いスレッドが動作可能(レディー状態)になった場合は、1クォンタムの消費後に
現在実行中スレッドは実行権を失いレディ状態に戻され、プライオリティが高いスレッドが動作中となる。

まぁ、簡単に説明するとこんな感じなのだが・・・TXの処理速度が上がるとyahoo表示まで多くの時間が掛かるようになるのは、
どうやらこの制御ロジックに問題を抱えているような気配がする。
プライオリティを下げれば、どんなにTXを高速で動作させても遅延問題は生じないから、
クォンタム消費自体はまともに機能してそうだが・・・そうなるとクォンタムを消費尽くしたときの切り替え時にレディ状態の候補が見つからぬバグがあるのかも知れないな。

C2D OS XP
TXが1.7MT/sで動作中のとき・・・yahoo表示まで2-3秒
TXが3.5MT/sで動作中のとき・・・yahoo表示まで5-10秒
TXが5.5MT/sで動作中のとき・・・yahoo表示まで30〜秒

こんな感じかな?