python進行毫秒級計時時遇到的一個精度問題

在用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函數

相關文章
相關標籤/搜索