我想知道为什么我的整个应用程序运行时间小于8 seconds
,而从clock_gettime
获得的时间是19.3468 seconds
,这是实际情况的两倍多。问题出在哪里?
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。
答案 0 :(得分:3)
CLOCK_MONOTONIC ,但还会包括在程序尝试运行时调度的其他进程导致的速度减慢