|
システムタイマー起因のTicks と、ハードウェア起因のPerformance Counter があるが、これらは同根であることを、つまり両者の等時性を確認する。バカバカしいが、筆者としては確認して見たかった。 ●背景 Ticks は、実時刻系で、西暦0年から、リアルタイムでカウントしていることになっている。一方、Performance Counter は、CPU クロックを物理的にカウントしている。しかし、実時刻の基準は、CPUクロック以外にはないので、両者は同じ時を刻んでいるはずである。 ●方法 ダミーの処理ルーティンで、システム周期の数倍以上の時間をTicks と Performance Counter の両者で計測する。計測タイミングは僅かにずれるが、計測周期は同じなのでOKである。システム周期の数倍以上にしたのは、システム割込みやバックグランドの影響を一定にするためである。 数分間計測し、両者の測定値は、Ticks をX、Performance Counter を Y とし、その集団でできる関数を1次関数として、最小自乗法でその傾きを算出する。仮定が正しければ、傾きは、1 に限りなく近くなるはずである。 ●結果 下図のようになった。1次関数の傾きは、0.999988 で、両者は同じと言える。 |