[fpc-pascal] EpikTimer v1.0.1 released
    Henry Vermaak 
    henry.vermaak at gmail.com
       
    Wed May 28 18:09:44 CEST 2014
    
    
  
On Wed, May 28, 2014 at 04:31:53PM +0200, Michael Schnell wrote:
> On 05/28/2014 04:26 PM, Henry Vermaak wrote:
> >
> >- The rdtsc instruction needs to be protected from out of order
> >   execution.  Some people use cpuid, which is expensive.  It looks like
> >   the linux kernel uses mfence or lfence/mfence depending on CPU type.
> >
> 
> ... meaning the current version of incorrect ?!?!?
Indeed.  What's worse is that it _always_ uses the TSC on x86, without
knowing whether it's actually a reliable clock source for the particular
hardware configuration.
I can only recommend to never use this component, just use an ifdef to
call QueryPerformanceCounter/()clock_gettime() based on OS.
> Things like this is why I'd rather use dVSO.
Calling the vDSO will certainly make things faster.  I don't know what
the overhead of QueryPerformanceCounter() is.
Henry
    
    
More information about the fpc-pascal
mailing list