我是否正確地做?有時,我的程序將打印2000+的計時解決方案,並始終打印1000 CLOCKS_PER_SEC ..每秒計算時鐘數
我實際計算的是什麼值?它是每秒的時鐘嗎?
#include <iostream>
#include <chrono>
#include <thread>
#include <ctime>
std::chrono::time_point<std::chrono::high_resolution_clock> SystemTime()
{
return std::chrono::high_resolution_clock::now();
}
std::uint32_t TimeDuration(std::chrono::time_point<std::chrono::high_resolution_clock> Time)
{
return std::chrono::duration_cast<std::chrono::nanoseconds>(SystemTime() - Time).count();
}
int main()
{
auto Begin = std::chrono::high_resolution_clock::now();
std::this_thread::sleep_for(std::chrono::milliseconds(1));
std::cout<< (TimeDuration(Begin)/1000.0)<<std::endl;
std::cout<<CLOCKS_PER_SEC;
return 0;
}
咦?你什麼意思是每秒鐘? –
爲什麼clocks_per_sec宏= 1000?以及如何計算我的CPU每秒的週期數量?我正在嘗試編寫一個程序,它可以在每個時間點做一些事情,並且在不使用ASM的情況下儘可能提高準確性。 – Brandon
我可能會建議你使用一個硬件解決方案,如果你想要更好的準確性,你可以通過你的項目的軟件部分來閱讀。 CHEERS –