23#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
24#define WIN32_LEAN_AND_MEAN
30#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
39#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
42 if (!QueryPerformanceFrequency(&li))
44 printf(
"QueryPerformanceFrequency failed!\n");
47 PCFreq = (double)li.QuadPart/1000.0;
48 QueryPerformanceCounter(&li);
58#if defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64)
60 QueryPerformanceCounter(&li);
61 return (
double)(li.QuadPart-
timerStart)/PCFreq;
63 struct timeval timerStop, timerElapsed;
64 gettimeofday(&timerStop, NULL);
65 timersub(&timerStop, &
timerStart, &timerElapsed);
66 return timerElapsed.
tv_sec*1000.0+timerElapsed.
tv_usec/1000.0;
struct timeval timerStart