Hi, On Feb 19, 2016 2:35 AM, "john hood" <cg...@glup.org> wrote:
> There's some information on the web discussing issues with > QueryPerformanceCounter() QueryPerformanceCounter() is the officially recommended method for time interval measurements: https://blogs.msdn.microsoft.com/oldnewthing/20140822-01/?p=163/ https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408(v=vs.85).aspx Best Regards, Artúr -----Original Message----- From: john hood <cg...@glup.org> To: cygwin-patches@cygwin.com Sent: Fri, 19 Feb 2016 2:35 Subject: Re: [PATCH] Multiple timer issues + new [PATCH] On 2/18/16 6:39 PM, Irányossy Knoblauch Artúr wrote: > The ntod timer (type hires_ns), however, is getting its time value > from QueryPerformanceCounter(), which, according to the MSDN > documentation, will provide a "time stamp that can be used for > time-interval measurements" -- that is just what the doctor ordered. > :-) I have some interest in this because my work on select() may interact with what you're doing here. There's some information on the web discussing issues with QueryPerformanceCounter(), for example <http://www.virtualdub.org/blog/pivot/entry.php?id=106>. This is mostly an issue with CPUs available in the (I think) 2003-2006 time frame, such as early AMD Athlons and early Intel Core iNNN and iNNNN CPUs. Earlier CPUs didn't have both changeable clock rates and RDTSC, and later CPUs had RDTSC but the clock rate is constant for RDTSC. It's also possible that only some versions of Windows have issues in this area, maybe later versions of Windows avoid this problem. Does your code work properly in this case? regards, --jh