如何测量C函数所花费的时间?

在这里,我们将看到如何计算过程花费的时间。对于此问题,我们将使用clock()函数。clock()存在于time.h头文件中。

要获得经过的时间,我们可以在任务的开始和结束时使用clock()来获取时间,然后减去这些值以获得差值。之后,我们将差异除以CLOCK_PER_SEC(每秒的时钟滴答数)以获得处理器时间。

示例

#include <stdio.h>
#include <time.h>
void take_enter() {
   printf("Press enter to stop the counter \n");
   while(1) {
      if (getchar())
      break;
   }
}
main() {
   // Calculate the time taken by take_enter()
   clock_t t;
   t = clock();
   printf("Timer starts\n");
   take_enter();
   printf("Timer ends \n");
   t = clock() - t;
   double time_taken = ((double)t)/CLOCKS_PER_SEC; // calculate the elapsed time
   printf("The program took %f seconds to execute", time_taken);
}

输出结果

Timer starts
Press enter to stop the counter
Timer ends
The program took 5.218000 seconds to execute