23 #ifdef GPR_WINDOWS_TIME
27 #include <sys/timeb.h>
34 static LARGE_INTEGER g_start_time = []() {
36 QueryPerformanceCounter(&
x);
39 static double g_time_scale = []() {
40 LARGE_INTEGER frequency;
41 QueryPerformanceFrequency(&frequency);
42 return 1.0 / (double)frequency.QuadPart;
51 LARGE_INTEGER timestamp;
58 now_tv.
tv_nsec = now_tb.millitm * 1000000;
62 QueryPerformanceCounter(×tamp);
63 diff = timestamp.QuadPart - g_start_time.QuadPart;
64 now_dbl = (double)
diff * g_time_scale;
97 GPR_ASSERT((sleep_millis >= 0) && (sleep_millis <= INT_MAX));
98 Sleep((DWORD)sleep_millis);