我想储存活动时间。
我找到了这两个函数,但不知道哪一个更快。
最佳答案
int main()
{
struct timespec tp;
struct timeval tv;
int i=0;
int j=0;
for(i=0; i < 500000; i++)
{
gettimeofday(&tv, NULL);
j+= tv.tv_usec%2;
clock_gettime(CLOCK_HIGHRES, &tp);
j+=tp.tv_sec%2;
}
return 0;
}
%Time Seconds Cumsecs #Calls msec/call Name
68.3 0.28 0.28 500000 0.0006 __clock_gettime
22.0 0.09 0.37 500000 0.0002 _gettimeofday
7.3 0.03 0.40 1000009 0.0000 _mcount
2.4 0.01 0.41 1 10. main
0.0 0.00 0.41 4 0. atexit
0.0 0.00 0.41 1 0. _exithandle
0.0 0.00 0.41 1 0. _fpsetsticky
0.0 0.00 0.41 1 0. _profil
0.0 0.00 0.41 1 0. exit
这在solaris 9 v440机器上运行。在您自己的框中配置代码。此结果与前面提供的链接中引用的结果完全不同。换言之,如果有差异,那将是由于植入。
关于c - getimeofday或clock_gettime中哪一个更快?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3218855/