【发布时间】:2012-10-20 19:09:26
【问题描述】:
我正在尝试测量 C(矩阵乘法)中的一些活动,并注意到我应该这样做:
clock_t start = clock();
sleep(3);
clock_t end = clock();
double elapsed_time = (end - start)/(double)CLOCKS_PER_SEC;
printf("Elapsed time: %.2f.\n", elapsed_time);
输出是:
Elapsed time: 0.00.
为什么会这样?
【问题讨论】:
-
您是否尝试仅打印
(end - start)? -
也许stackoverflow.com/a/8583395/318716 可能有帮助?正如 Arno 所指出的,粒度因机器而异。
-
[Rant] 投票最多的答案(有 11 个投票)无关紧要。但阿诺或奥威尔(或我)的答案(非常相似)都有零票。
-
我同意 OP 混淆
clock与例如。time。但是time不会帮助他测量“矩阵乘法”。
标签: c time matrix multiplication