【发布时间】:2012-05-30 09:45:17
【问题描述】:
我正在使用 clock() 来测量我的算法的 CPU 时间量。
代码如下:
start_time = clock();
//code to be timed
.
end_time = clock();
elapsed_time = (end_time - start_time)*1000 / CLOCKS_PER_SEC;
printf("Time taken %d seconds %d milliseconds\n", elapsed_time/1000, elapsed_time%1000 );
但结果是“0 秒 -175 毫秒”。我不明白为什么。 似乎“1 秒 349 毫秒”实际上可能需要 10 分钟或更长时间。 这很常见吗?
【问题讨论】:
-
您是否要为一个分叉的程序计时?
-
是的,这正是我想做的。
-
请向我们展示更多代码——包括变量类型等。并确保您在此处显示的内容与您正在编译和测试的内容完全相同(例如,如果您将 printf 更改为使用 %lld,在此处显示)。并告诉我们您使用的是什么平台(以及您是为 32 位还是 64 位架构构建)。