python 求取程式碼執行時間
阿新 • • 發佈:2020-09-17
我們知道為了提高程式碼的執行速度,我們需要對書寫的python
程式碼進行效能測試,而程式碼效能的高低的直接反饋是電腦執行程式碼所需要的時間。這裡將介紹四種常用的測試程式碼執行速度的方法。
第一種:使用time
模組對程式碼的執行時間進行統計,程式碼如下:
import time
class Debug:
def mainProgram(self):
start_time = time.time()
for i in range(100):
print(i)
end_time = time.time()
print(f"the running time is: {end_time - start_time} s")
if __name__ == "__main__":
main = Debug()
main.mainProgram()
我們採用time
模組給所要測試的程式碼的前後加上時間戳,一個記為start_time
,一個記作end_time
,最後程式碼塊的執行時間為end_time-start_time
,單位為s(秒)
。當然在python
中還有許多的記錄時間的模組,這裡不做過多討論,均類似於time
模組,實現思路上一致,程式碼實現上大同小異。
第二種:使用IPython
的Built-in magic commands
,%time
,程式碼如下:
class Debug:
def mainProgram(self):
%time for i in range(100): print(i)
main = Debug()
main.mainProgram()
"""
Wall time: 1.99 ms
"""
這個類定義是可以去掉的,並不會影響最終的結果,%time
後面加上想要計算時間的程式碼,然後編譯器就會在執行後自動給出所測試程式碼的執行時間,但是經過測試,%time
方法測出的時間並不準確,時間波動範圍非常大,這個是很好理解的,因為計算機每時每刻都在處理一些程序,也就是說計算機的執行狀態每時每刻都是不同的,所以在不同的時刻測試同一段程式碼的執行時間也會得到不同的結果。