How to measure time taken by a function in C?


Here we will see how to calculate the time taken by the process. For this problem, we will use the clock() function. The clock() is present in the time.h header file.

To get the elapsed time, we can get the time using clock() at the beginning, and at the end of the tasks, then subtract the values to get the differences. After that, we will divide the difference by CLOCK_PER_SEC (Number of clock ticks per second) to get the processor time.

Example

#include <stdio.h>
#include <time.h>
void take_enter() {
   printf("Press enter to stop the counter 
");    while(1) {       if (getchar())       break;    } } main() {    // Calculate the time taken by take_enter()    clock_t t;    t = clock();    printf("Timer starts
");    take_enter();    printf("Timer ends
");    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); }

Output

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

Updated on: 30-Jul-2019

11K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements