我想用毫秒精度获得使用Boost的时间。 (精度并不需要是毫秒,正好接近)是boost :: posix_time :: microsec_clock CPU密集型?
参考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密集型呼叫打中吗?