我的程序经常调用WINAPI函数timeGetTime()
,该函数应替换为<chrono>
(标准库)的使用。根据我的情况,获得系统时间的最快标准化方法是什么?float
或int
?
我不需要跟踪日期或日期时间,我只需要精确的相对ms /秒值,它总是递增。有没有?
答案 0 :(得分:5)
对于基准测试,您可能需要std::chrono::high_resolution_clock
。它可能不稳定 - 从某种意义上说它总是会增加&#34;。保证稳定的唯一时钟是std::chrono::steady_clock
。
最好的,稳定的时钟将是:
using ClockType = std::conditional<
std::chrono::high_resolution_clock::is_steady,
std::chrono::high_resolution_clock,
std::chrono::steady_clock>::type;
请注意,high_resolution_clock
本身可能只是steady_clock
的别名。
答案 1 :(得分:1)
如果你需要精确的相对ms,你就是
您使用WinApi标记了问题,我认为这是特定于Windows的。
对于High Resolution Timer的Windows。该技术允许您精确计算相对时间(例如,在某些函数调用中花费了多少时间)。