通过PyCharm运行时,与直接在命令行中运行相比,脚本的性能要好

时间:2019-03-25 00:23:06

标签: python pycharm

已经问过同样的问题here,但没有得到答案。

我编写了一个脚本,该脚本需要很长时间才能完成,并且正在使用一个模块(tqdm)向我提供有关其进度的反馈。通过PyCharm在远程环境上运行时,脚本性能为每秒800至1000次迭代,这产生的估计总运行时间约为4至5个小时。

当我尝试通过经典Linux命令行在同一远程环境上运行脚本时,会出现问题。在相同的环境下,在相同的环境中,使用相同的命令,但唯一的区别是我自己键入了该脚本,而不是让PyCharm替我发出了脚本,因此脚本性能下降到了每秒200-300次迭代,结果估计为10 -16小时。

在PyCharm中,我的脚本的运行配置窗口如下所示: pycharm run config 如您所见,使用的解释器位于整个项目使用的虚拟环境中的开发服务器上。
我不得不隐藏脚本名称和参数,您可能会发现它们很不方便,但我不认为我的问题与脚本本身或其内容有关。

为了通过命令行运行相同的脚本,这是我要做的:

  • SSH到我的服务器
  • cd到我的项目文件夹
  • 激活我的环境
  • export PYTHONPATH=$(pwd)
  • 使用相同的选项运行相同的脚本

...实际上应该导致相同的行为,对吗?是的,但是速度不一样。出现这种70%的性能下降是由于我不知道的原因造成的,并且似乎在Internet上没有记录。

我也尝试过,以完美模拟Pycharm所做的事情:

  • 在运行脚本时复制PyCharm输出的确切命令,并将其粘贴到我的终端中(无济于事)
  • 在运行脚本之前发出export PYTHONUNBUFFERED=1,我知道这不会改变(不会)

我对此一无所知。这是某些可疑的PyCharm恶作剧的结果吗?
与PyCharm所做的任何事情相关的任何输入,甚至可以远程加快Python脚本执行的某些方面,都值得赞赏!

谢谢。

0 个答案:

没有答案