/* Some simple utilities for wall-clock timing. The function get_wall_time() returns the wall time in microseconds (with an unspecified offset). */ #ifdef _WIN32 #include static int64_t get_wall_time(void) { LARGE_INTEGER time,freq; assert(QueryPerformanceFrequency(&freq)); assert(QueryPerformanceCounter(&time)); return ((double)time.QuadPart / freq.QuadPart) * 1000000; } #else /* Assuming POSIX */ #include #include static int64_t get_wall_time(void) { struct timeval time; assert(gettimeofday(&time,NULL) == 0); return time.tv_sec * 1000000 + time.tv_usec; } #endif