如何测量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