diff options
Diffstat (limited to 'src/MTS_System.cpp')
-rw-r--r-- | src/MTS_System.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/MTS_System.cpp b/src/MTS_System.cpp index e1ed348..abed817 100644 --- a/src/MTS_System.cpp +++ b/src/MTS_System.cpp @@ -95,6 +95,21 @@ uint64_t System::precisionTimeMicros() { return micros; } +uint64_t System::monoTimeMicros() { + uint64_t micros = 0; +#ifdef WIN32 + micros = static_cast<uint64_t>(GetTickCount64()) * 1000; +#else + timespec ts; + int result = clock_gettime(CLOCK_MONOTONIC, &ts); + if (result == 0) { + micros = (static_cast<uint64_t>(ts.tv_sec) * 1000000) + + (ts.tv_nsec / 1000); + } +#endif + return micros; +} + bool System::isBigEndian() { static union { uint32_t i; |