Since I've been recently in an urgent need of having a precise time source on Windows, I wrote the routine blow involving QueryPerformanceCounter. Luckily, I had recalled the problems of reading from the counter across multiple cores and resolved the issue as shown below: