From cb6e9b82c144bd520c0a7ab36332dc441b243e3e Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Fri, 9 Aug 2019 13:48:37 -0400 Subject: [PATCH] Add system::getThreadTime implementation on Windows --- src/system.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/system.cpp b/src/system.cpp index 040e1844..90c5923b 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -165,10 +165,14 @@ double getThreadTime() { clockid_t cid; pthread_getcpuclockid(pthread_self(), &cid); clock_gettime(cid, &ts); - return ts.tv_sec + ts.tv_nsec / 1000000000.0; + return ts.tv_sec + ts.tv_nsec * 1e-9; #elif defined ARCH_WIN - // TODO - return 0.0; + FILETIME creationTime; + FILETIME exitTime; + FILETIME kernelTime; + FILETIME userTime; + GetThreadTimes(GetCurrentThread(), &creationTime, &exitTime, &kernelTime, &userTime); + return ((((uint64_t) userTime.dwHighDateTime) << 32) + userTime.dwLowDateTime) * 1e-7; #endif }