Python: high precision time.sleep

can you tell me how can I get a high precision sleep-function in Python2.6 on Win32 and on Linux?


Solution 1:

You can use floating-point numbers in sleep():

The argument may be a floating point number to indicate a more precise sleep time.

So

time.sleep(0.5)

will sleep for half a second.

In practice, however, it's unlikely that you will get much more than millisecond precision with sleep because operating systems usually only support millisecond sleeps and because very short amounts of time quickly get unreliable.

Solution 2:

Here is a similar question:

how-accurate-is-pythons-time-sleep

On linux if you need high accuracy you might want to look into using ctypes to call nanosleep() or clock_nanosleep(). I'm not sure of all the implications of trying that though.