Use ‘gettimeofdata’ to do this job:
#include <sys/time.h> #include <stdlib.h> #include <stdio.h> #include <math.h> /* Return 1 if the difference is negative, otherwise 0. */ int timeval_subtract(struct timeval *result, struct timeval *t2, struct timeval *t1) { long int diff = (t2->tv_usec + 1000000 * t2->tv_sec) - (t1->tv_usec + 1000000 * t1->tv_sec); result->tv_sec = diff / 1000000; result->tv_usec = diff % 1000000; return (diff<0); } void timeval_print(struct timeval *tv) { char buffer[30]; time_t curtime; printf("%ld.%06ld", tv->tv_sec, tv->tv_usec); curtime = tv->tv_sec; strftime(buffer, 30, "%m-%d-%Y %T", localtime(&curtime)); printf(" = %s.%06ld\n", buffer, tv->tv_usec); } int main() { struct timeval tvBegin, tvEnd, tvDiff; // begin gettimeofday(&tvBegin, NULL); timeval_print(&tvBegin); // lengthy operation int i,j; for(i=0;i<999999L;++i) { j=sqrt(i); } //end gettimeofday(&tvEnd, NULL); timeval_print(&tvEnd); // diff timeval_subtract(&tvDiff, &tvEnd, &tvBegin); printf("%ld.%06ld\n", tvDiff.tv_sec, tvDiff.tv_usec); return 0; }
Check this thread to find more formation:
http://stackoverflow.com/questions/1468596/calculating-elapsed-time-in-a-c-program-in-milliseconds
Got it! Thanks a lot again for helnpig me out!