先上代碼
fromopenpyxlimportload_workbook importnumpyasnp importpandasaspd importxlwingsasxw importcsv importjieba importpangu importre print('hello')
這個樣例,在print行加一個斷點,即可測試出緩慢效果
Linux下的虛擬環境啟用
開始用win來測試效果,發現很慢,難道和系統有關系嗎,于是進行linux下的python代碼debug嘗試。
manjaro或者archlinux用pip安裝報錯,比如
處理這個情況的設置好vscode,做好如下勾選
這樣debug的時候就可以有效加載虛擬環境。
使用cprofile進行性能跟蹤
importcProfile importpstats #importsome_module defimport_module(): #fromopenpyxlimportload_workbook importjieba defprofile_import(): #創建一個性能分析器對象 profile=cProfile.Profile() profile.enable() #運行要分析的函數 import_module() #停止性能分析 profile.disable() #生成一個性能報告 stats=pstats.Stats(profile) #stats.sort_stats("cumulative").print_stats(10)#打印前10行統計信息 stats.sort_stats("cumulative").print_stats()#打印前10行統計信息 if__name__=="__main__": profile_import()
發現
/home/qiangge/.conda/envs/py031105/lib/python3.12/site-packages/jieba/finalseg/prob_emit.py
這里的文件共35000多行,因為這個嗎?懷疑是多線程問題導致。
非debug模式下,也就是runcode模式下,并不會出現這個prob_emit.py的加載。這里估計是多線程在debug下會有阻塞問題。
小結
并沒有徹底找出根因,但是很顯然,有如下結論
導入包,對于運行沒有性能問題
導入包,對于不同的包,性能影響很顯著
可能是多線程引發了debug性能問題。
-
Linux
+關注
關注
87文章
11229瀏覽量
208928 -
python
+關注
關注
56文章
4782瀏覽量
84455 -
vscode
+關注
關注
1文章
154瀏覽量
7670
原文標題:python導入包引發的debug緩慢問題探究
文章出處:【微信號:gh_361ab7628207,微信公眾號:Geant4模擬學習交流】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論