先上代码
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文章
11304浏览量
209507 -
python
+关注
关注
56文章
4797浏览量
84689 -
vscode
+关注
关注
1文章
155浏览量
7713
原文标题:python导入包引发的debug缓慢问题探究
文章出处:【微信号:gh_361ab7628207,微信公众号:Geant4模拟学习交流】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论