史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

Python是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言,其具有高可擴展性和高可移植性,具有廣泛的標準庫,受到開發者的追捧,廣泛應用於開發運維(DevOps)、數據科學、網站開發和安全。然而,它沒有因速度和空間而贏得任何稱讚,主要原因是Python是一門動態類型語言,每一個簡單的操作都需要大量的指令才能完成。

所以這更加需要開發者在使用Python語言開發項目時協調好程序運行的時間和空間。


史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗


1、分析時間耗時

分析項目消耗的時間消耗,依託於line_profiler模塊,其可以計算出執行每行代碼所需佔用的CPU時間。

第1步:安裝line_profiler模塊,我是用pip安裝一直失敗,所以下載到本地進行離線安裝,指令如下所示:

史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

安裝成功效果如下所示:

史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

安裝成功效果如下所示:

第2步:分析每行代碼的運行時間,本案例Demo檢測for循環一萬次累加和while循環一萬次累加的時間,並進行對比,實現代碼如下所示:

<code>from line_profiler import LineProfiler
 
def operation1():
  num=0
  for i in range(10000):
    num += 1
 
def operation2():
  num=0
  while(num < 10000):
    num += 1
 
if __name__ == "__main__":
  lprofiler = LineProfiler(operation1,operation2)
  lprofiler.run('operation1()')
  lprofiler.run('operation2()')
  lprofiler.print_stats()/<code>

運行程序,可見while循環速度稍微慢一些,效果如下所示:


史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

2、分析空間耗時

memory_profiler模塊可實現對Python項目中每一個代碼的內存消耗進行分析和監控。

第1步:安裝memory_profiler庫文件,指令如下所示:

<code>pip install memory_profiler/<code>

安裝成功效果如下所示:

史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

第2步:分析每行代碼的空間消耗,本案例Demo檢測for循環一萬次累加和while循環一萬次累加的消耗空間,並進行對比,實現代碼如下所示:


史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

由於是簡單運算消耗的內存是微乎其微的,效果如下所示:

史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗

更多分析可以關注小編,下回一起看。

最新python爬蟲教程
如果你處於想學python爬蟲或者正在學習python爬蟲,python爬蟲的教程不少了吧,但是是最新的嗎?
說不定你學了可能是兩年前人家就學過的內容,在這小編分享一波2020最新的python爬蟲全套教程最後小編為大家準備了3月份新出的python爬蟲自學視頻教程,免費分享給大家!


獲取方式:私信小編 “ 資料分享 ”,即可免費獲取!


史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗


史上最簡單的4行Python代碼監測每行程序的運行時間和空間消耗


分享到:


相關文章: