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

2021-11-29 22:11:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

为什么调试会让它变得如此缓慢,有解决方法吗?你知道吗

2条回答
网友
1楼 ·

无论使用何种语言,调试都是侵入式的。它需要具有侵入性来跟踪正在发生的事情。假设这是一个Python字节码调试器,只需将所有工作移到C层,使其不做任何工作,就可以优化此特定情况:

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

否则,您将不得不查找调试器文档;大多数调试器文档都可以选择暂时以较少干扰的模式操作,以减轻此类问题。编辑:显然,the setting is "Collect run-time types information for code insight"。你知道吗

网友
2楼 ·

粗略搜索一下这个网站就会发现这个问题已经被提了至少3次了。有人指出铁蟒可能是罪魁祸首。另一个是django。尽管您的代码看起来很基本,但我怀疑您两个都没有使用,因此请参阅第三个,来自Vasily Alexeev,他断言PyCharm调试器只是速度很慢,并建议如下:

我只能想到一件事来加速PyCharm的调试器,那就是关闭“为代码洞察收集运行时类型信息”设置(位于File>;Settings>;Build,Execution,Deployment>;Python debugger下)。你知道吗

相关问题