首页 文章

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

提问于
浏览
-1

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

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

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

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

2 回答

  • 0

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

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

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

  • 0

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

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

相关问题