调试Python时,从磁盘加载数据太慢

时间:2016-01-07 03:31:49

标签: python performance debugging

我的python程序逐行加载一个大小约为300MB的txt文件,并将每一行转换为float。

with open(file) as fp:
    data = []
    for line in fp:
        data.append(float(line))

加载的速度还可以,当我在PyCharm中运行代码时需要10秒。但是,当我使用PyCharm调试相同的代码时,它变得非常慢,并且任务加载相同的数据需要2分钟。

为什么调试使它变得如此缓慢并且有解决方法呢?

2 个答案:

答案 0 :(得分:0)

粗略搜索这个网站显示这个问题已经提出至少3次了。一个表明铁蛙可能是罪魁祸首。另一个表示django。基本上你的代码出现了,我怀疑你没有使用,所以你会引用第三个,来自Vasily Alexeev,他声称PyCharm调试器只是很慢,并建议如下:

我只能想到可以加速PyCharm调试器的一件事,那就是关闭“收集代码洞察的运行时类型信息”设置(位于文件>设置>构建,执行,部署下) > Python调试器)。

答案 1 :(得分:0)

无论语言如何,调试都是侵入性的。它需要干扰跟踪正在发生的事情。假设这是一个Python字节码调试器,您可以通过将所有工作移动到C层来优化这种特殊情况,这样就不会做任何工作:

with open(file) as fp:
    data = list(map(float, fp))

否则,您将不得不查找调试器文档;他们中的大多数人都可以选择暂时以较少侵入的方式运作,以缓解这些问题。 编辑:显然是the setting is "Collect run-time types information for code insight"