私はclock_getresとclock_gettimeでCLOCK_MONOTONICクロックを使ってプログラムの一部を測定しようとしています。clock_getresとclock_gettime
私が正しく理解していれば、clock_gettimeは何らかの外部クロック(CPUではなく)を計測して時間を得て、paramerとして参照されるstruct timespecインスタンスでそれを更新します(つまり、
私が知る必要があるのは実際の時間ではなく、クロック(CLOCK_MONOTONIC)のサイクル数です。
どうすればいいですか?それはclock_getresと関係するかもしれませんが、正確にどのように動作するのか理解できませんでした。
サイクル数を取得する方法を知っている人はいますか?
おかげ:あなたはCPUサイクルを知りたい場合は
ノート
が、これは、あなたの時間の価値を与えるだろう、あなたはRDTSCのようなものを使用する必要があります私が尋ねたもの私はCLOCK_MONOTONICのサイクル数を得る方法を理解していません。または、clock_getresは何ですか?それは私にそのクロックの周波数を与えますか? – kakushCLOCK_MONOTONIC doesn;サイクル情報を教えてください。クロック情報が表示されます。代わりにrdtscを試してみてください(intrin.h)。 clock_getresは、使用しているプラットフォームに依存する、指定されたクロックの解像度を示すだけです。 – StevieG
ほとんどのコンピュータが今日は可変速度で動作しているので、サイクル数は必要ありません(省電力機能)。 clock_getresは測定可能な最小時間デルタを取得します(理論的には、これは実際には1 /周波数になる可能性が高く、実際にはわかりませんがPOSIXは不明です) –