dualCoreの罠(汗
http://ameblo.jp/professionalhearts/entry-10011123501.html
>単に空いているCPUで実行するようにOSが自動的に、しかも相当エエカゲンに割り当ててくる
ガーン(ノД`)ノ
そうだったんですか。
CPU0、CPU1両方で動いてるから、並列処理ラッキー!ぐらいに思ってましたが、
動作中の同じプログラムを、cpu0とcpu1の間でふらふら移動させられたら、
レジスタどころか、命令/データキャッシュも全部無駄になってしまいますね。
windowsってそんなエエカゲンだったとは……
ショック(TДT)
ちゃんとスレッド意識して書かないと、
シングルCPUの方が、効率が良いなんてことになりそうですね(汗
別にマルチスレッド並列探索にするつもりはなかったですが、
スレッドを生成しないとダメっすね。
謎電の作者さま、解説ありがとうございました。m(_ _)m
並列処理とは奥が深い技術ですねえ!
検索していろいろと読むと、
SetThreadAffinityMask()で設定するか。
SetThreadIdealProcessor()で直接CPU番号を指定する方法もあるようです。
VCTK2003でコンパイルできるか分かりませんが、ちょっくらやってみます。
どうせなら並列探索もしてみようかな(^^;←やめなさい