函數(shù)"clock_gettime"是基于linux C語言的時間函數(shù),可以用于計算時間,有秒和納秒兩種精度。
函數(shù)原型:
int clock_gettime(clockid_t clk_id, struct timespec *tp);
其中,cld_id類型四種:
a、CLOCK_REALTIME:系統(tǒng)實時時間,隨系統(tǒng)實時時間改變而改變b、CLOCK_MONOTONIC,從系統(tǒng)啟動這一刻起開始計時,不受系統(tǒng)時間被用戶改變的影響c、CLOCK_PROCESS_CPUTIME_ID,本進程到當(dāng)前代碼系統(tǒng)CPU花費的時間d、CLOCK_THREAD_CPUTIME_ID,本線程到當(dāng)前代碼系統(tǒng)CPU花費的時間
本文默認采用CLOCK_REALTIME,即可實現(xiàn)并行程序的準(zhǔn)確計時。
其中,timespec結(jié)構(gòu)包括:
struct timespec {time_t tv_sec; /* 秒*/long tv_nsec; /* 納秒*/};--------------------------------------------------------------------------------------------------------------例如:計算時間差#include <time.h>struct timespec time1 = {0, 0};struct timespec time2 = {0, 0};clock_gettime(CLOCK_REALTIME, &time1);。。。。。。clock_gettime(CLOCK_REALTIME, &time2);cout << "time passed is: " << (time2.tv_sec - time1.tv_sec)*1000 + (time2.tv_nsec - time1.tv_nsec)/1000000 << "ms" << endl;新聞熱點
疑難解答