[fpc-devel] High performance Linux timer
Graeme Geldenhuys
graemeg.lists at gmail.com
Mon May 19 09:31:13 CEST 2008
Felipe Monteiro de Carvalho wrote:
> I once implemented a high precision timer on linux, but I don't
> remember how I did it. Look at the code here:
>
> http://wiki.lazarus.freepascal.org/EpikTimer
>
Thanks, I'll have a look at the code for more details. From the wiki, it
sounds like there might be some issues EpikTimer implementation though.
* .... Timestamp Counter.
* Pentium IV 3,2Mhz on Windows and Linux with great precision (~
3,220,000,000 ticks per second)
Timestamp counter from the CPU (assuming we are speaking of RDTSC) is
susceptible to many issue. eg: A Intel P4 3.2Mhz does not always produce
3,220,000,000 ticks per second. Powersaving features like SpeedStep,
Hibernate etc all affect the CPU clock speed. Also on a multi-core
system, not all cores are guaranteed to run at the same clock speed.
Above information was gathered from the WikiPedia article.
http://en.wikipedia.org/wiki/Rdtsc
Anybody know what Win32's QueryPerformanceCounter() uses internally to
get a stable timer? Or is QueryPerformanceCounter also susceptible to
powersaving features?
Regards,
- Graeme -
_______________________________________________________
fpGUI - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/
More information about the fpc-devel
mailing list