Optimized timer code for macOS (#576)

This commit is contained in:
Tillsunset 2022-12-15 03:28:44 -06:00 committed by GitHub
parent fcab8f8f1a
commit 058d11b49b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 9 deletions

View file

@ -7,11 +7,13 @@ HighResolutionTimer HighResolutionTimer::now()
LARGE_INTEGER pc;
QueryPerformanceCounter(&pc);
return HighResolutionTimer(pc.QuadPart);
#else
#elif BOOST_OS_LINUX
timespec pc;
clock_gettime(CLOCK_MONOTONIC_RAW, &pc);
uint64 nsec = (uint64)pc.tv_sec * (uint64)1000000000 + (uint64)pc.tv_nsec;
return HighResolutionTimer(nsec);
#elif BOOST_OS_MACOS
return HighResolutionTimer(clock_gettime_nsec_np(CLOCK_MONOTONIC_RAW));
#endif
}
@ -20,7 +22,6 @@ HRTick HighResolutionTimer::getFrequency()
return m_freq;
}
uint64 HighResolutionTimer::m_freq = []() -> uint64 {
#if BOOST_OS_WINDOWS
LARGE_INTEGER freq;