在用python進行計時時,遇到了一個精度問題。
環境爲win10+python3,使用的計時函數是time.time()函數,經測試發現這種方法的精度在15毫秒左右。
例如以下代碼:python
l = [] for i in range(100): t1 = time.time() for j in range(1000*100): a = 1 + 2 t2 = time.time() l.append(t2-t1)
執行以後的時間以下圖:
windows
能夠看到,用這種方法計時的精度大概是15毫秒。
查閱資料可知,這是因爲windows系統函數的精度問題。
好比GetTickCount64函數,精度就與系統的timer精度有關,通常在10毫秒到16毫秒之間。app
參考資料:
GetTickCount64函數