61 return ::GetTickCount64() * 1000000;
63 static LARGE_INTEGER pcfreq = {0};
66 QueryPerformanceFrequency(&pcfreq);
67 QueryPerformanceCounter(&ticks);
68 ticks.QuadPart *= 1000000000;
69 return ticks.QuadPart / pcfreq.QuadPart;
70#elif defined(__MACH__)
74 host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock);
75 clock_get_time(cclock, &mts);
76 mach_port_deallocate(mach_task_self(), cclock);
78 return ((
uint64_t)mts.tv_sec * 1000000000) + (mts.tv_nsec);
81 if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0) {
84 return ((
uint64_t)ts.tv_sec * 1000000000) + (ts.tv_nsec);