iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

30天深入了解Pycharm系列 第 11

Day 11. Line Profiler插件 - 補上Community版缺少的Profile

  • 分享至 

  • xImage
  •  

更多相關連結: https://linktr.ee/wade3c


https://plugins.jetbrains.com/plugin/16536-line-profiler

由於profile加上視覺化在pycharm是僅限付費版才能使用的,這個套件讓免費的community版也能夠以簡易的視覺化方式去查看各function以及function內每行code所需的執行時間

Install

除了要去marketplace安裝plugin外還會需要用pip來安裝指定的套件

pip install line-profiler-pycharm

這個套件等等會被用來記錄指定要被profile的function的相關資訊

Setup

從剛剛說要額外安裝python套件時,細心的讀者應該就能猜到這個套件需要對code做一點點微調才能正確運作,改法非常的簡單只要import套件並把decorator給加到想要計算執行時間的function上面就好

from line_profiler_pycharm import profile 

import time

@profile
def profile_this():    
    time.sleep(1)
    time.sleep(2)

if __name__ == "__main__":
    profile_this()

執行這隻程式後就會取得紀錄profile資訊的main.py.pclprof

image.png

執行的方式可以直接run或是透過profile然後選line profile (profile的按鈕只有在professional版中會顯示)

image.png

Check Result

對打開的檔案右鍵或是對profile檔右鍵都可以讓plugin去視覺化每行的執行時間

image.png

由於linux系統和windows在profile時計算時間的方式略有不同,因此可以看到在Windows上的秒數換算並不準確,不過每行code在function內花費的時間佔比並不會受到影響

image.png


上一篇
Day 10. Test
下一篇
Day 12. Python Console
系列文
30天深入了解Pycharm31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言