For code that requires performance, it is necessary to output the program running time and require high accuracy. The following code segment implements this function.
Note: It is only used in Linux because of <sys/time. h>.
1 # include <sys/time. h> 2 # include <iostream> 3 4 using namespace STD; 5 6 int main (INT argc, char ** argv) 7 {8 // time used for statistics 9 unsigned int untimeuse; 10 11 struct timeval ststarttime; 12 struct timeval stendtime; 13 14 gettimeofday (& ststarttime, null); 15 16 int I = 10000; 17 while (I --> 0 ); 18 19 gettimeofday (& stendtime, null); 20 untimeuse = 1000000 * (stendtime. TV _sec-ststarttime. TV _sec) + 21 stendtime. TV _usec-ststarttime. TV _usec; 22 23 cout. SETF (ios_base: fixed); 24 cout <"use time:" <untimeuse/1000000.0 <"Sec" <Endl; 25 26 return 0; 27}
Output result:
Output running time (accurate to microseconds)