我想使用 Boost 获得毫秒精度的时间。(精度不需要毫秒级,接近即可。)
参考Local time with milliseconds等,表示应该使用微秒时钟:
boost::posix_time::microsec_clock::local_time();
根据我的经验,使用标准的、低影响的系统调用(即::GetTicks()
在 Windows 上)不可能获得精确到微秒的时间(假设有类似的精度)。相反,需要发出 CPU 密集型调用以提高超过毫秒(到微秒)的精度。
正如我所提到的,我不需要微秒级的精度 - 只是有点接近毫秒级的精度。但是,Boost.Date_Time 不提供任何“millisec_clock” - 它提供second_clock
,并且下一个渐变是microsec_clock
,中间没有“millisec_clock”。
microsec_clock
如前所述,如果我使用MILLIseconds 来获取 MILLIseconds,我会受到 CPU 密集型调用的打击吗?