ホーム ] TIPS ] ソフトウェア実験室 ]

上へ
ビットマップの処理速度
色変換速度
数式演算速度
冪乗演算速度
検索速度
文字列処理速度
文字列/数値処理速度
CPU演算速度
TicksとPerformance Counter
文字の数値化
数値化文字の再現
数値化文字の補間
補間の効果
ネイピア数
ネイピア数2
指数関数近似値
級数の収束速度1
級数の収束速度2
級数の精度
逆三角関数を求める
算術幾何平均でπを求める
全フォルダ列挙
ビットマップとメモリリソース
配列とメモリリソース

ソフトウェア実験室

Ticks と Performance Counter

最終更新:2006/11/09 新規

 システムタイマー起因のTicks と、ハードウェア起因のPerformance Counter があるが、これらは同根であることを、つまり両者の等時性を確認する。バカバカしいが、筆者としては確認して見たかった。

●背景

 Ticks は、実時刻系で、西暦0年から、リアルタイムでカウントしていることになっている。一方、Performance Counter は、CPU クロックを物理的にカウントしている。しかし、実時刻の基準は、CPUクロック以外にはないので、両者は同じ時を刻んでいるはずである。

●方法

 ダミーの処理ルーティンで、システム周期の数倍以上の時間をTicks と Performance Counter の両者で計測する。計測タイミングは僅かにずれるが、計測周期は同じなのでOKである。システム周期の数倍以上にしたのは、システム割込みやバックグランドの影響を一定にするためである。

 数分間計測し、両者の測定値は、Ticks をX、Performance Counter を Y とし、その集団でできる関数を1次関数として、最小自乗法でその傾きを算出する。仮定が正しければ、傾きは、1 に限りなく近くなるはずである。

●結果

 下図のようになった。1次関数の傾きは、0.999988 で、両者は同じと言える。