Read rdtsc in Python

2.7k views Asked by At

Is there any way to read out the timestamp-counter on x86 CPUs in Python?

I know that using rdtscp is bad and using rdtsc is even worse. But trust me I really need that value, or at least some approximation of that value.

Any ideas?

1

There are 1 answers

1
Gregor On BEST ANSWER

With normal python, time.clock() is the most accurate thing you will get.

time.clock()

On Unix, return the current processor time as a floating point number expressed in seconds. The precision, and in fact the very definition of the meaning of “processor time”, depends on that of the C function of the same name, but in any case, this is the function to use for benchmarking Python or timing algorithms.

On Windows, this function returns wall-clock seconds elapsed since the first call to this function, as a floating point number, based on the Win32 function QueryPerformanceCounter(). The resolution is typically better than one microsecond.

If you really want to have processor ticks, just remember the time which is needed to execute this python call - so Python is not the right language to do microsecond time measurement.