Computer >> Máy Tính >  >> Lập trình >> lập trình C

Làm thế nào để đo thời gian được thực hiện bởi một hàm trong C?

Ở đây chúng ta sẽ xem làm thế nào để tính toán thời gian thực hiện của quá trình. Đối với vấn đề này, chúng ta sẽ sử dụng hàm clock (). Đồng hồ () có trong tệp tiêu đề time.h.

Để có được thời gian đã trôi qua, chúng ta có thể lấy thời gian bằng cách sử dụng clock () ở đầu và khi kết thúc nhiệm vụ, sau đó trừ các giá trị để có được sự khác biệt. Sau đó, chúng tôi sẽ chia sự khác biệt cho CLOCK_PER_SEC (Số lần tích tắc đồng hồ mỗi giây) để lấy thời gian của bộ xử lý.

Ví dụ

#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);
}

Đầu ra

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