How accurate is python's time.sleep()?

后端 未结 11 2082
有刺的猬
有刺的猬 2020-11-22 10:41

I can give it floating point numbers, such as

time.sleep(0.5)

but how accurate is it? If i give it

time.sleep(0.05)
         


        
11条回答
  •  广开言路
    2020-11-22 11:08

    Why don't you find out:

    from datetime import datetime
    import time
    
    def check_sleep(amount):
        start = datetime.now()
        time.sleep(amount)
        end = datetime.now()
        delta = end-start
        return delta.seconds + delta.microseconds/1000000.
    
    error = sum(abs(check_sleep(0.050)-0.050) for i in xrange(100))*10
    print "Average error is %0.2fms" % error
    

    For the record, I get around 0.1ms error on my HTPC and 2ms on my laptop, both linux machines.

提交回复
热议问题