2
我想知道爲什麼我的整個應用程序的運行時間小於8 seconds
,而從clock_gettime
獲得的時間是19.3468 seconds
,比現實中的時間多出兩倍。問題從哪裏來?CPU花在CPU上的時間比現實中更快
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time_start);
... // many calculations
clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time_stop);
double time_diff=(time_stop.tv_sec-time_start.tv_sec+
(1e-9)*(time_stop.tv_nsec-time_start.tv_nsec);
更新:
我沒有使用任何OpenMP的明確。
相關:[瞭解clock_gettime()的不同時鐘](http://stackoverflow.com/questions/7506952/understanding-the-different-clocks-of-clock-gettime) – dxiv
@dxiv但處理時間總是少於上牆時間不多。 – ar2015
您在詢問CPU時間。考慮多個CPU。 – dxiv