clock() - c函数的执行时间

时间:2013-04-04 22:37:08

标签: c performance time clock

我正在尝试用C来衡量代码块的执行时间。我的代码中有这样的东西:

clock_t begin, end;
double time_spent;
begin = clock();
ATL_dsymv(122,n,alfa,A,n,X,1,beta,Y,1);
end = clock();
time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
printf ("(%f seconds)",time_spent);

但它总是返回:(0.000000秒)。我在更简单的代码块上尝试了同样的事情,但是它有相同的结果。我究竟做错了什么?非常感谢。

1 个答案:

答案 0 :(得分:3)

clock通常具有非常差分辨率,大约10毫秒。这很可能是你的问题。如果您使用POSIX系统,请使用clock_gettimeCLOCK_PROCESS_CPUTIME_ID时钟来获得高分辨率结果。其他类型的系统可能具有系统特定的方法来实现相同的目标。