stop dfstatus from wasting time. added 'stopwatch.h' to extras for getting accurate unix time in milliseconds
							parent
							
								
									3fae382402
								
							
						
					
					
						commit
						e5e0391d76
					
				| @ -0,0 +1,45 @@ | ||||
| // source: http://stackoverflow.com/questions/1861294/how-to-calculate-execution-time-of-a-code-snippet-in-c
 | ||||
| #ifndef LINUX_BUILD | ||||
|     #include <Windows.h> | ||||
| #else | ||||
|     #include <sys/time.h> | ||||
|     #include <ctime> | ||||
| #endif | ||||
| 
 | ||||
| /* Returns the amount of milliseconds elapsed since the UNIX epoch. Works on both
 | ||||
|  * windows and linux. */ | ||||
| 
 | ||||
| uint64_t GetTimeMs64() | ||||
| { | ||||
|     #ifndef LINUX_BUILD | ||||
|      /* Windows */ | ||||
|      FILETIME ft; | ||||
|      LARGE_INTEGER li; | ||||
| 
 | ||||
|      /* Get the amount of 100 nano seconds intervals elapsed since January 1, 1601 (UTC) and copy it
 | ||||
|       * to a LARGE_INTEGER structure. */ | ||||
|      GetSystemTimeAsFileTime(&ft); | ||||
|      li.LowPart = ft.dwLowDateTime; | ||||
|      li.HighPart = ft.dwHighDateTime; | ||||
| 
 | ||||
|      uint64_t ret = li.QuadPart; | ||||
|      ret -= 116444736000000000LL; /* Convert from file time to UNIX epoch time. */ | ||||
|       ret /= 10000; /* From 100 nano seconds (10^-7) to 1 millisecond (10^-3) intervals */ | ||||
| 
 | ||||
|        return ret; | ||||
|        #else | ||||
|        /* Linux */ | ||||
|        struct timeval tv; | ||||
|         | ||||
|        gettimeofday(&tv, NULL); | ||||
|         | ||||
|        uint64_t ret = tv.tv_usec; | ||||
|        /* Convert from micro seconds (10^-6) to milliseconds (10^-3) */ | ||||
|        ret /= 1000; | ||||
|         | ||||
|        /* Adds the seconds (10^0) after converting them to milliseconds (10^-3) */ | ||||
|        ret += (tv.tv_sec * 1000); | ||||
|         | ||||
|        return ret; | ||||
|        #endif | ||||
| } | ||||
		Loading…
	
		Reference in New Issue