高精度な実行速度計測

目的:プロセス間通信に要する時間を計測する。
プロセスをまたいだ計測が必要になる。

rdtsc。
http://www.02.246.ne.jp/~torutk/cxx/clock/cpucounter.html

マルチプロセッサ、CPUごとにカウンタが同期してないことがあるらしい。複数プロセス間での標準時がほしいので、Set(Process|Thread)AffinityMaskで同じCPUの上で実行するように。
http://msdn.microsoft.com/library/ja/jpdllpro/html/_win32_setprocessaffinitymask.asp?frame=true
http://msdn.microsoft.com/library/ja/jpdllpro/html/_win32_setthreadaffinitymask.asp?frame=true
アフィニティマスクは、許可するCPUのビットを立てる。CPU0だけで動かしたかったら1、CPU0,1なら3。

http://mcn.oops.jp/wiki/index.php?Develop%2FTimer
Windowsのタイマー事情について。
rdtscは時代遅れ、QueryPerformanceCounterを使うべきと。
インタフェースはrdtscと似たようなもの。プロセスをまたいで使えるはず


よく考えたら、rdtscの数値から実時間に変換するにはどうすればいいんだろ。Core2Duoはクロック動的制御機能がある。
それoffにして、クロック数で割るだけでいいのかな。だるいのでQPCにしよう。


ものさしの長さをどうはかるか。はからずお茶を濁せるならそれでもいいんだけど。要求精度。