Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

จะวัดเวลาที่ใช้โดยฟังก์ชันใน C ได้อย่างไร?


ที่นี่เราจะมาดูวิธีการคำนวณเวลาที่ใช้โดยกระบวนการ สำหรับปัญหานี้ เราจะใช้ฟังก์ชัน clock() clock() มีอยู่ในไฟล์ส่วนหัว time.h

เพื่อให้ได้เวลาที่ผ่านไป เราสามารถหาเวลาโดยใช้ clock() ที่จุดเริ่มต้นและจุดสิ้นสุดของงาน จากนั้นลบค่าเพื่อให้ได้ส่วนต่าง หลังจากนั้น เราจะหารส่วนต่างด้วย CLOCK_PER_SEC (จำนวน clock tick ต่อวินาที) เพื่อรับเวลาของโปรเซสเซอร์

ตัวอย่าง

#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