PyCharm IDE在调试Python读取小pickle文件时非常慢

时间:2016-05-29 09:25:46

标签: python debugging pycharm pickle

调试有时需要10秒。阅读30mega + 5兆泡菜后问题就开始了,用pdb调试就可以了。 甚至在“打印”的行上

有什么建议吗?

if __name__ == "__main__":
    print 'loading files...',
    with open(fname1, 'rb') as handle: items = pickle.load(handle)
    with open(fname2, 'rb') as handle: sentences_by_id= pickle.load(handle)
    print ' done!'

5 个答案:

答案 0 :(得分:1)

我对ndarrays列表的dict有类似的问题。当列表太长时,pycharm调试器会冻结,top会显示pycharm的cpu为102%(我猜几个核心是活动的)并且需要很长时间才能解冻。没有断点的运行很好。 我的解决方案是将我在ndarrays上的所有列表转换为ndarrays,例如

<pseudo python>
for k in dict_of_lists_of_ndarrays:
     dict_of_lists_of_ndarrays[k]=np.array(dict_of_lists_of_ndarrays[k])
</pseudo python>

现在情况有了很大改善。我不知道问题是什么

答案 1 :(得分:0)

我在JetBrains支持上找到this thread,建议关闭&#34;显示返回值&#34;选项(您可以在调试工具栏的设置中找到它,齿轮图标)。它为我解决了它。

答案 2 :(得分:0)

我对此进行了一些分析,还使用PyDev插件将IDE更改为Elipse。

仍然调试python程序比实际直接执行python程序要慢得多。

速度慢了多少? 我的计算密集型程序花了超过17分钟的时间,但仍然无法解决直接运行同一程序在2分钟内返回输出的问题。

我想问题出在Python Debugger,而不是IDE的Eclipse或Jetbrains Pycharm。我已经为这两者工作了很多年,所以我可以保证。

  

值得检查是否有明确的调试器速度设置   选项可用于Python调试器。

答案 3 :(得分:0)

对我来说,什么是将“可变加载策略”更改为“按需”的帮助。通过单击调试菜单中的小齿轮完成此操作。对于图片,请检查链接:

https://intellij-support.jetbrains.com/hc/en-us/community/posts/206601625-pycharm-debugger-slow-due-to-collecting-data-

答案 4 :(得分:0)

这件事发生在我身上(PyCharm 2019.3),这是由放置在随后删除,编辑等文件上的无效断点引起的。删除所有断点,并确保您没有在异常``raise''上遇到断点。一旦完成,PyCharm调试就会恢复正常速度