如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 這樣簡單語句不表達包含關係,不...