如何檢視記憶體占用和執行速度

2022-05-07 07:42:09 字數 2146 閱讀 5965

1、python開發的程式在使用過程中很慢,想確定下是哪段**比較慢;

2、python開發的程式在使用過程中占用記憶體很大,想確定下是哪段**引起的;

可以使用profile和cprofile對python程式進行分析,這裡主要記錄下cprofile的使用,profile參考cprofile即可。

#

slots_test.py

class

foobar(object):

__slots__=('x'

)

def__init__

(self, x):

self.x =x

defmain():

f = [foobar(42) for i in range(1000000)] if

__name__ == "

__main__":

main()

1.簡單檢視

2.不修改程式

python -m cprofile -o test1.out slots_test.py

python -c "

import pstats; p=pstats.stats('test1.out'); p.print_stats()

"

檢視排序後的結果:

結果說明

ncalls : 函式的被呼叫次數

tottime :函式總計執行時間,除去函式中呼叫的函式執行時間

percall :函式執行一次的平均時間,等於tottime/ncalls

cumtime :函式總計執行時間,含呼叫的函式執行時間

percall :函式執行一次的平均時間,等於cumtime/ncalls

filename:lineno(function) 函式所在的檔名,函式的行號,函式名

需要安裝memory_profiler :

pip install

psutil

pip

install memory_profiler

1.不匯入模組

不加 -m memory_profiler會報錯

2.匯入模組

如何提高selenum的執行速度

selenum的執行速度會受到多方面的影響,如網速,操作步驟的繁瑣性,頁面的載入速度以及指令碼中設定的等待時間,執行的執行緒數等,所以不能從單方面去追求速度。要確保穩定性,能穩定的實現回歸測試超市關鍵。我們可以從以下幾個方面提高執行效率 化繁為簡,減少操作步驟 如經過三四步才開啟的網頁,可以直接通過...

如何提高FPGA的執行速度

對於設計者來說,當然希望我們設計的電路的工作頻率 在這裡如無特別說明,工作頻率指fpg 內的工作頻率 盡量高。我們也經常聽說用資源換速度,用流水的方式可以提高工作頻率,這確實是乙個很重要的方法,今天我想進一步去分析該如何提高電路的工作頻率。我們先來分析下是什麼影響了電路的工作頻率。我們電路的工作頻率...

加快tomcat啟動和執行速度

新版在 上找 能加快tomcat的啟動速度和執行速度。apache tomcat native library 是幹什麼的呢?這是 apache 為了提公升 tomcat 的效能搞的一套本地化 socket,thread,io 元件.也就是說它有高階 io 功能,作業系統級別的功能呼叫,以及本地程序...