37 static LARGE_INTEGER frequency;
40 if (frequency.QuadPart == 0 && !QueryPerformanceFrequency(&frequency))
42 if (!QueryPerformanceCounter(&now))
44 return (now.QuadPart * 1000) / frequency.QuadPart;
45 #elif defined(HAVE_CLOCK_GETTIME)
46 #ifdef CLOCK_MONOTONIC_RAW
47 clockid_t clk_id = CLOCK_MONOTONIC_RAW;
49 clockid_t clk_id = CLOCK_MONOTONIC;
52 int retval = clock_gettime(clk_id, &now);
55 return (int64_t)now.tv_sec * 1000 + now.tv_nsec / 1000000;
58 int retval = gettimeofday(&now,
NULL);
61 return (int64_t)now.tv_sec * 1000 + now.tv_usec / 1000;