我想储存活动时间。
我找到了这两个函数,但不知道哪一个更快。

最佳答案

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/

10-12 14:28