6
std::clock()
コールの解像度を測定することはできますか?それとも、影響を受けずに観察することができないという問題ですか?`std :: clock()`の解像度を測定する
私は、次の素朴なベンチマークを書いた:
#include <ctime>
#include <iostream>
int main() {
std::clock_t initial = std::clock();
std::clock_t current;
while (initial == (current = std::clock()));
std::cout << "Initial: " << initial << std::endl;
std::cout << "Current: " << current << std::endl;
std::cout << "Precision: " << (static_cast<double>(current - initial)/CLOCKS_PER_SEC) << "s" << std::endl;
}
私はそれを数百回を実行した、それは常に0.01s
を出力します。
私の質問は以下のとおりです。
- は、上記のコード
clock()
の解像度を測定するための良い方法ですか? - 何も問題がなければ何が問題なのですか?どのように改善することができますか?
「精度」とはどういう意味ですか?別の「適切な」時計を参照することなく、それをどのように測定しますか? –
毎回最初のループで壊れますか? @Kerrek SB – James
あなたは私の質問を言い換えています。 – StackedCrooked