0

CPUレジスタをミリ秒ごとにサンプリングし、周波数を計算しようとしています。正確な測定を行うには、サンプリング時間が非常に正確である必要があります。これを達成するために time.sleep() を使用していますが、スリープは 1 秒を超えるとあまり正確ではありません。

私がやりたいのは、カウンターを設定し、そのカウンターが特定の値に達したとき、およびカウンターが正確なレートでインクリメントされる場所をサンプリングすることです。Python 2.6 を実行しています。誰か提案はありますか?

4

1 に答える 1

0

必要なものを支援する Python パッケージがいくつか存在する可能性が高いと思います。また、Python はその目的に適したツールではないと思います。

timeit モジュールがあります

壁時計ではなく CPU 使用クロック (アプリケーションが time.clock() オブジェクトを初期化するため) である clock() を使用した time モジュールがあります。これは浮動小数点値で、1 位以下の 12 桁以上を示します。つまり、1.12345678912345 です。 . Python の float の精度は不明であり、time.clock() からの戻り値は、私が個人的に正確であると信頼できるものではありません。

inspect や itertools など、時間を処理する Python イントロスペクション ツールは他にもあります。ただし、それらの精度は、同じものを何度も繰り返し測定した平均の実行に依存していると思われます。

于 2012-07-18T15:37:56.740 に答える