Author Archive

実行した命令数をカウントする

一週間で三回ぐらい聞かれたので知っている範囲で書いておきます。 パフォーマンスカウンタの値をとる 全命令をカウントするINST_RETIREDがありますが、もう少し詳細な値も取れます。 http://www.intel.

動き予測(おまけ)

さすがに20倍にはならないので、と書きましたが、よく考えたら、最近のx86 では サイクルあたりで 16byte の sad が一個取れるので、20倍ぐらい出そうな気がしたので試してみました。 https://bitbu

その他の時間計測方法

rdtscp や CPU_CLK_UNHALTED は、細かい性能を計測する場合には便利ですが、大きな粒度で計測したい場合、単位の変換などが面倒です。状況に応じて、色々な方法を使い分けると良いでしょう。 以下、思い付く範

CPU_CLK_UNHALTEDの値を取得する

近年のCPUは電力削減のために、負荷にあわせてクロックが変動するものが多くなっています。 rdtsc, rdtscp で取得できる値は、このクロックとは別にカウントされており、省電力機能の有無に関わらず、一定クロックでカ

rdtscp を使う

x86マシンでは、処理時間を計測する時、rdtsc 命令を使うと便利な場合があります。 しかし、rdtsc で取得できるタイムスタンプ値は、コア毎に同期されておらず、マザーボードやBIOSによっては、大きな差が出ることが
Recent Comments

Social Media