python程式分析 如何分析Python指令碼?

2021-10-11 13:08:24 字數 826 閱讀 2414

如chris lawlor所示cprofile是乙個很棒的工具,可以很容易地用於列印到螢幕上:python -m cprofile -s time mine.py 

或提交:python -m cprofile -o output.file mine.py 

ps>如果您使用的是ubuntu,請確保安裝python-profilesudo apt-get install python-profiler

如果輸出到檔案,則可以使用以下工具獲得良好的視覺化效果

pycallgraph:乙個建立呼叫圖形影象的工具

安裝:sudo pip install pycallgraph

跑:pycallgraph mine.py args

檢視:gimp pycallgraph.png

你可以使用你喜歡的任何東西來檢視png檔案,我使用gimp

不幸的是我常常得到

dot:圖形對於cairo-renderer點陣圖來說太大了。按比例縮小0.257079以適應

這使我的影象非常小。所以我通常建立svg檔案:pycallgraph -f svg -o pycallgraph.svg mine.py 

ps>確保安裝graphviz(提供點程式):sudo pip install graphviz

通過@maxy / @quodlibetor使用gprof2dot替代繪圖:sudo pip install gprof2dot

python -m cprofile -o profile.pstats mine.py

gprof2dot -f pstats profile.pstats | dot -tsvg -o mine.svg

python如何分析程式效能

when use profiler?有時候你覺得程式執行很慢,想對程式進行優化,但是你又不知道哪部分程式入手,這時候你就需要對程式整體效能進行分析,看看速度慢主要是哪部分程式導致的 why use cprofile?cprofile,乙個python程式效能分析模組。其實python有兩個profi...

使用cProfile分析Python程式效能

cprofile 基於lsprof的用c語言實現的擴充套件應用,執行開銷比較合理,適合分析執行時間較長的程式,推薦使用這個模組 profile 純python實現的效能分析模組,介面和cprofile一致。但在分析程式時增加了很大的執行開銷。不過,如果你想擴充套件profiler的功能,可以通過繼承...

Python程式語法元素分析

程式的格式框架 注釋命名與保留字 字串賦值語句 input 函式 分支語句 eval 函式 print 函式 迴圈語句 函式1.程式的格式框架 python語言採用嚴格的縮進來表明程式的格式框架。縮排表達所屬關係。注 不是所有的 都可以通過縮排包含其他的 如print 這樣簡單語句不表達包含關係,不...