int main(void) { double clockticks, cticks; clock_t tcend, tcstart; struct tms tmend, tmstart; if ((clockticks = (double) sysconf(_SC_CLK_TCK)) == -1) { perror("Failed to determine clock ticks per second"); return 1; } printf("The number of ticks per second is %f\n", clockticks); if (clockticks == 0) { fprintf(stderr, "The number of ticks per second is invalid\n"); return 1; } if ((tcstart = times(&tmstart)) == -1) { perror("Failed to get start time"); return 1; } function_to_time(); if ((tcend = times(&tmend)) == -1) { perror("Failed to get end times"); return 1; } cticks = tmend.tms_utime + tmend.tms_stime - tmstart.tms_utime - tmstart.tms_stime; printf("Total CPU time for operation is %f seconds\n", cticks/clockticks); if ((tcend <= tcstart) || (tcend < 0) || (tcstart < 0)) { fprintf(stderr, "Tick time wrapped, couldn't calculate fraction\n"); return 1; } printf("Fraction of CPU time used is %f\n", cticks/(tcend - tcstart)); return 0; }
int main(void) { // time_t start_time, end_time; // time_t elapsed_time; struct timeval start_time, end_time; long elapsed_time; if (gettimeofday(&start_time,0)) { fprintf(stdout,"Failed to get start time.\n"); return 1; } int i =0; // for (i=0;i<ITERATION;i++) function_to_time(); if (gettimeofday(&end_time,0)) { fprintf(stdout,"Failed to get end time.\n"); return 1; } // elapsed_time = end_time - start_time; elapsed_time = MILLION*(end_time.tv_sec - start_time.tv_sec) + end_time.tv_usec - start_time.tv_usec; printf("The time taken is: %ld us \n",elapsed_time); return 0; }
int main(void) { time_t tend, tstart; tstart = time(NULL); function_to_time(); tend = time(NULL); printf("The time before was %sThe time after was %s", ctime(&tstart), ctime(&tend)); return 0; }