-1

我想知道程序执行所花费的时间。
而且我不希望用户花时间提供输入。
只有时间进行基本操作。
就像我们需要比较两种算法的效率一样。
基本操作如

a+b
a-b
a*b
a/b
a<b
a>b
a=b

和更多。谢谢

4

2 回答 2

1

If you would like to use a profiler, then this can act as a poor-man's profiler:

#include <stdio.h>
#include <time.h>

clock_t start = clock();
/* Code you want timed here */
printf("Time elapsed: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);

Courtesy: Julienne Walker aka Narue

于 2012-12-05T13:10:42.370 回答
0

为什么不只是使用时间。这会测量 CPU 使用率,因此不会考虑用户输入时间等。

time 命令使用给定的参数运行指定的程序命令。当命令完成时,时间会向标准错误写入一条消息,提供有关此程序运行的计时统计信息。这些统计数据包括 (i) 调用和终止之间经过的实时时间,(ii) 用户 CPU 时间(由 times(2) 返回的结构 tms 中的 tms_utime 和 tms_cutime 值的总和),以及 (iii)系统 CPU 时间(times(2) 返回的 struct tms 中的 tms_stime 和 tms_cstime 值的总和)

于 2012-12-05T11:28:00.687 回答