1. 程式人生 > >Ubuntu上C++高精度時間的測量

Ubuntu上C++高精度時間的測量

clock()函式的精確度是10毫秒(ms)
times()函式的精確度是10毫秒(ms)
gettimofday()函式的精確度是微秒(μs)
clock_gettime()函式的計量單位為十億分之一,也就是納秒(ns)

所以如果要測精度高的時間,用以下程式碼,可以達到微秒級

    struct timeval tstart,tend;
    double timer;
    gettimeofday(&tend,NULL);
    gettimeofday(&tend,NULL);
    timer=1000000*(tend.tv_sec-tstart.tv_sec
) +tend.tv_usec-tstart.tv_usec;