一、使用time模塊測量程序運行時間
Python中的time模塊提供了一些函數,可以用來測量程序的運行時間。其中主要有time.time()函數和time.clock()函數。
import time start_time = time.time() # 記錄程序開始時間 # 將需要測量時間的代碼放在這裡 for i in range(10000000): pass end_time = time.time() # 記錄程序結束時間 print("程序運行時間為", end_time - start_time, "秒")
使用time模塊的time()函數和相應的數學計算,我們可以計算出程序的運行時間。
二、使用datetime模塊測量程序運行時間
Python中的datetime模塊也可以用來測量程序的運行時間。通過獲取程序開始時間和結束時間的datetime.datetime.now()函數,可以計算出程序的運行時間。
import datetime start_time = datetime.datetime.now() # 記錄程序開始時間 # 將需要測量時間的代碼放在這裡 for i in range(10000000): pass end_time = datetime.datetime.now() # 記錄程序結束時間 print("程序運行時間為", end_time - start_time)
datetime模塊的使用方法與time模塊類似,不過datetime可以提供更加精細的時間計算,比如可以計算出程序運行的微秒數。
三、使用profile和pstats模塊測量程序運行時間
Python還提供了profile和pstats模塊,可以用來分析程序的內存佔用和時間性能。
import profile def foo(): for i in range(10000000): pass profile.run("foo()")
上面的代碼中,我們使用profile.run()函數來運行需要性能分析的代碼,並輸出結果。這種方法適合於代碼運行時間較短的情況下使用。
如果代碼運行時間較長,我們可以使用pstats模塊來對結果進行分析和統計。
import pstats p = pstats.Stats("foo.prof") p.strip_dirs().sort_stats(-1).print_stats()
上面的代碼將讀取用profile.run()函數生成的統計文件,通過p.strip_dirs().sort_stats(-1).print_stats()來輸出結果。其中strip_dirs()函數用來去掉文件夾路徑,sort_stats(-1)函數用來按照運行時間從長到短排序。
四、使用cProfile模塊測量程序運行時間
Python還提供了cProfile模塊,可以用來分析代碼的運行性能。
import cProfile def foo(): for i in range(10000000): pass cProfile.run("foo()")
上面的代碼中,我們使用cProfile.run()函數來運行需要分析的代碼,並輸出結果。cProfile模塊與profile模塊類似,不過cProfile是使用C語言實現的,速度更快。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/191905.html