我正在尝试测量 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_gettime
与CLOCK_PROCESS_CPUTIME_ID
时钟以获得高分辨率结果。其他类型的系统可能有特定于系统的方法来实现相同的目的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)