我想获取自午夜以来当前的纳秒数,并且延迟最少。
我的平台是带有Clang的Linux / Centos 7。我不在意可移植性。
我找到了这个<chrono>
struct,
但它们除以秒/毫秒等即可得到结果。
我还发现可以修改几秒钟:
struct timeval tv;
int msec = -1;
if (gettimeofday(&tv,NULL) == 0)
{
msec = ((tv.tv_sec % 86400) * 1000 + tv.tv_usec / 1000);
}
https://stackoverflow.com/a/10499119/997112
但是他们再次使用除法。 有什么更快的方法,可以避免模数和除数?
我认为最快的方法是:
- 现在获取时间
- 将小时,分钟秒数乘以必要的纳秒数,然后将当前的毫微秒数加到总数中
?