Pycharm 中如何使用cProfile來測試Python程式的效能

Pycharm 已經內建了 cProfile 的支援。請參考底下的鏈結。


cProfile 是一個可以用來分析 Python 程式的工具。它可以幫我們分析程式碼中,每個副程式所占用的時間。如此一來,我們就可以針對程式中的瓶頸改寫程式碼,或甚至使用 Cython 等工具來改寫,達到提升效能的目的。

底下簡單地說明如何使用Pycharm來呼叫 cProfile。

要呼叫 cProfile 來分析程式,只要點擊底下紅色框框的按鈕,就可以呼叫 cProfile了。






在執行,並分析程式後,可以點擊底下紅框的按鈕,Pycharm便會把分析後的統計結果秀出來。


統計結果如下圖所示


上圖中 Name 代表函式的名稱,Call Count 代表函式被呼叫的次數,Time則代表花了多少時間在執行這個函式,這個時間包含了函式本身所花費的時間,加上函式呼叫其他函式的時間。Own time 則是函式本身所花費的時間。

一般來說,都是先看 Own time,若 own time 很高,通常代表這個函式是整支程式的熱點(hot spot)。而改善熱點,有很高的機會便可以提升整支程式的效能。

留言

這個網誌中的熱門文章

由 Pandas 的 DataFrame 中取得資料

[程式設計] C++ 的字串切割

[程式設計] UVa 介紹,以及 UDebug 和其他輔助工具的介紹