签出
clock_gettime,这是高分辨率计时器的POSIX接口。
如果已经阅读手册页,留给你想知道的区别
CLOCK_REALTIME和
CLOCK_MONOTONIC,看到CLOCK_REALTIME和CLOCK_MONOTONIC之间的区别?
有关完整的示例,请参见以下页面:http : //www.guyrutenberg.com/2007/09/22/profiling-pre-
using-clock_gettime/
#include <iostream>#include <time.h>using namespace std;timespec diff(timespec start, timespec end);int main(){ timespec time1, time2; int temp; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1); for (int i = 0; i< 242000000; i++) temp+=temp; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2); cout<<diff(time1,time2).tv_sec<<":"<<diff(time1,time2).tv_nsec<<endl; return 0;}timespec diff(timespec start, timespec end){ timespec temp; if ((end.tv_nsec-start.tv_nsec)<0) { temp.tv_sec = end.tv_sec-start.tv_sec-1; temp.tv_nsec = 1000000000+end.tv_nsec-start.tv_nsec; } else { temp.tv_sec = end.tv_sec-start.tv_sec; temp.tv_nsec = end.tv_nsec-start.tv_nsec; } return temp;}


