python計時


來源:https://zhuanlan.zhihu.com/p/110005305

2.使用time.clock()

Python time clock() 函數以浮點數計算的秒數返回當前的CPU時間。用來衡量不同程序的耗時,比time.time()更有用。

這個需要注意,在不同的系統上含義不同。在UNIX系統上,它返回的是"進程時間",它是用秒表示的浮點數(時間戳)。而在WINDOWS中,第一次調用,返回的是進程運行的實際時間。而第二次之后的調用是自第一次調用以后到現在的運行時間。(實際上是以WIN32上QueryPerformanceCounter()為基礎,它比毫秒表示更為精確)

使用time.clock()更改后的程序查看一下:

import platform
print('系統:',platform.system())

import time
T1 = time.clock()

#______假設下面是程序部分______
for i in range(100*100):
    pass

T2 =time.clock()
print('程序運行時間:%s毫秒' % ((T2 - T1)*1000))
# 程序運行時間:0.27023641716203606毫秒

3.使用time.perf_counter()

返回性能計數器的值(以微秒為單位,1秒=1000毫秒;1毫秒=1000微秒)作為浮點數,即具有最高可用分辨率的時鍾,以測量短持續時間。它包括在睡眠期間和系統范圍內流逝的時間。返回值的參考點未定義,因此只有連續調用結果之間的差異有效。

1秒 = 1000毫秒

1毫秒 = 1000微秒

1微秒 = 1000納秒

1納秒 = 1000皮秒

import platform
print('系統:',platform.system())

import time
T1 = time.perf_counter()

#______假設下面是程序部分______
for i in range(100*100):
    pass

T2 =time.perf_counter()
print('程序運行時間:%s毫秒' % ((T2 - T1)*1000))
# 系統: Windows
# 程序運行時間:0.3007180604248629毫秒

4.使用time.process_time()

返回當前進程的系統和用戶CPU時間總和的值(以小數微秒為單位)作為浮點數。

通常time.process_time()也用在測試代碼時間上,根據定義,它在整個過程中。返回值的參考點未定義,因此我們測試代碼的時候需要調用兩次,做差值。

注意process_time()不包括sleep()休眠時間期間經過的時間。

import platform
print('系統:',platform.system())

import time
T1 = time.process_time()

#______假設下面是程序部分______
for i in range(100*100):
    pass

T2 =time.process_time()
print('程序運行時間:%s毫秒' % ((T2 - T1)*1000))
# 系統: Windows
# 程序運行時間:0.0毫秒

寫在最后:

建議PC上使用time.perf_counter() 來計算程序的運算時間,特別是測試算法在相鄰兩幀的處理時間,如果計算不准確,那可能會對算法的速度過於自信。

尤其在嵌入式的板子的開發中,性能的測試中,請仔細選擇時間模塊,比如某些嵌入式板子會封裝專門的模塊。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM