クリティカルセクションのコスト
クリティカルセクションの実行コストは軽いと聞きますが
実際にどれくらいのコストがかかるのか計測してみました。
::EnterCriticalSection(&crit);
上記のコード2行を実行するのにかかったコストは自分の環境で約400クロックでした。
Pentium4 2.8GHzのCPUですので、時間にするとだいたい140ナノ秒かな?
数値はあまりあてになりませんが、だいぶ軽いですね。
上記のコード2行を実行するのにかかったコストは自分の環境で約400クロックでした。
Pentium4 2.8GHzのCPUですので、時間にするとだいたい140ナノ秒かな?
数値はあまりあてになりませんが、だいぶ軽いですね。
5 コメント:
やってることは単純だから軽いとはおもってたけど, OSの管理下にあるから, その辺でオーバーヘッドが大きいと思ってた.
400クロックかー…ほんとに1, 2命令レベルですな.
1,2命令って!?どういうレベルの命令だ…?w
でも、予想以上に軽くて僕もびっくり。
よほど深いループでぐるぐる回さない限りは気にすることのないレベルの時間やね
あれれ?
1命令って何クロックぐらいなん?
2,3~100くらいだと思ってた....
アセンブラの1命令?あーでも浮動小数点演算とか重そうなやつは100くらいいくのかもね。。
調べたわけではなくて勝手な思い込みだけども。
データシート落として調べてみました.
1,2~50以内がほとんどで, 100越えてるのもいくつかある感じでした.
けど1,2命令程度ってのは言い過ぎた, ごめん(笑)
コメントを投稿