我想知道程序执行所花费的时间。
而且我不希望用户花时间提供输入。
只有时间进行基本操作。
就像我们需要比较两种算法的效率一样。
基本操作如
a+b
a-b
a*b
a/b
a<b
a>b
a=b
和更多。谢谢
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
为什么不只是使用时间。这会测量 CPU 使用率,因此不会考虑用户输入时间等。
time 命令使用给定的参数运行指定的程序命令。当命令完成时,时间会向标准错误写入一条消息,提供有关此程序运行的计时统计信息。这些统计数据包括 (i) 调用和终止之间经过的实时时间,(ii) 用户 CPU 时间(由 times(2) 返回的结构 tms 中的 tms_utime 和 tms_cutime 值的总和),以及 (iii)系统 CPU 时间(times(2) 返回的 struct tms 中的 tms_stime 和 tms_cstime 值的总和)