首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >time vs gettimeofday c ++

time vs gettimeofday c ++
EN

Stack Overflow用户
提问于 2013-03-01 21:24:45
回答 4查看 13.3K关注 0票数 5

time命令返回执行命令所用的时间。

如果我在命令调用的开头放一个"gettimeofday()“(使用system() ),在调用的末尾放一个”gettimeofday()“,然后取一个不同的值,结果就不一样了。(这也不是很小的区别)

有人能解释一下这两种用法之间的确切区别吗?哪种方法是对调用的执行进行计时的最佳方式?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-01 21:30:01

Unix time命令测量整个程序的执行时间,包括系统加载二进制文件及其所有库所需的时间,以及程序完成后清理所有文件所需的时间。

另一方面,gettimeofday只能在程序内部工作,即在它完成加载(对于初始测量)之后,并且在它被清除之前(对于最终测量)。

哪一个是最好的?这取决于你想要测量的东西。;)

票数 6
EN

Stack Overflow用户

发布于 2013-03-01 21:30:09

time()返回自纪元以来的时间,单位为

gettimeofday():返回:

代码语言:javascript
复制
struct timeval {
       time_t      tv_sec;     /* seconds */
       suseconds_t tv_usec;    /* microseconds */
};
票数 5
EN

Stack Overflow用户

发布于 2013-03-01 21:29:17

这完全取决于你选择的时机。如果你想以秒为单位计时,那么time()可能是你最好的选择。如果你需要更高的分辨率,那么我会考虑gettimeofday(),它提供了高达微秒级的分辨率(1 /1000000秒)。

如果您需要更高的分辨率,请考虑使用clock()CLOCKS_PER_SECOND,只需注意clock()很少能准确描述所用的时间,而是所使用的CPU周期数。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15158863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档