Tom Lane wrote:
John A Meinel <[EMAIL PROTECTED]> writes:clock() according to the Visual Studio Help measures wall clock time. But you're right, POSIX says it is approximation of processor time.
Dave Held wrote:
There is always clock().
My experience with clock() on win32 is that CLOCKS_PER_SEC was 1000, and it had a resolution of 55clocks / s. When I just did this:
The other problem is it measures process CPU time, not elapsed time which is probably more significant for our purposes.
Which brings up a question: just what does QueryPerformanceCounter measure?
regards, tom lane
The docs don't say specifically what QueryPerformanceCounter() measures, but states
The *QueryPerformanceCounter* function retrieves the current value of the high-resolution performance counter.
It also states:
On a multiprocessor machine, it should not matter which processor is called. However, you can get different results on different processors due to bugs in the BIOS or the HAL. To specify processor affinity for a thread, use the *SetThreadAffinityMask* function.
So it sounds like it is actually querying some counter independent of processing.
In fact, there is also this statement:
If that is accurate, it would make QueryPerformanceCounter independent of things like speed stepping, etc. So again, it sounds independent of processing.*QueryPerformanceFrequency*
The QueryPerformanceFrequency function retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.
Description: OpenPGP digital signature