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