我试图测量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秒)。我在更简单的代码块上尝试了同样的方法,比如for,但是结果是一样的。我做错什么了?谢谢。

最佳答案

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

关于c - clock()-C函数的执行时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15822933/

10-12 20:38