【问题标题】:Pycharm debugger much slower than normal runPycharm 调试器比正常运行慢得多
【发布时间】:2013-11-13 03:43:23
【问题描述】:

我正在尝试使用 pycharm 来调试 ironpython 脚本。它进展缓慢,因为 pycharm 在调试模式下运行非常缓慢。我意识到我们可以预期会出现一些放缓,但我正在经历大约 200 倍的放缓。以下是我的 pystone 结果:

正常运行:

"C:\Program Files (x86)\IronPython 2.7\ipy.exe" C:/Users/melchoir55/PycharmProjects/pystone/pystone.py
Pystone(1.1) time for 50000 passes = 0.270744
This machine benchmarks at 184676 pystones/second

调试器:

"C:\Program Files (x86)\IronPython 2.7\ipy.exe" -X:Frames "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.0.1\helpers\pydev\pydevd.py" --multiproc --client 127.0.0.1 --port 52669 --file C:/Users/melchoir55/PycharmProjects/pystone/pystone.py
pydev debugger: warning: sys._current_frames is not supported in Python 2.4, it is recommended to install threadframe module
pydev debugger: warning: See http://majid.info/blog/threadframe-multithreaded-stack-frame-extraction-for-python/
pydev debugger: process 9064 is connecting

Connected to pydev debugger (build 131.339)
Pystone(1.1) time for 50000 passes = 71.5615
This machine benchmarks at 698.700 pystones/second

有人知道这里发生了什么吗?

【问题讨论】:

  • 我给了 PyDev 一个机会。它的性能稍好一些,但运行和调试之间的差异大致相同。

标签: python performance debugging ironpython pycharm


【解决方案1】:

问题是铁蟒。显然,ipy 不适用于调试器。我再次使用相同的调试器(eclipse pydev、pycharm、visual studio)运行 pystone,但这次使用的是常规的 python 发行版而不是 ironpython。结果好多了:

使用标准 python 正常运行:

Pystone(1.1) time for 50000 passes = 0.462739
This machine benchmarks at 108052 pystones/second

使用标准 python 调试运行:

pydev debugger: starting
Pystone(1.1) time for 50000 passes = 4.49224
This machine benchmarks at 11130.3 pystones/second

因此,在调试模式下,常规 python 似乎仍然会出现明显的减速,但与 Ironpython 所经历的减速相比没有任何意义。如果你遇到这个问题,你可能会考虑转储 Ironpython。

【讨论】:

  • 然而 ipy 发布运行速度更快,所以在 CPython 中调试并在 ipy 中运行
  • 好点。但在某些情况下,我认为这是不可能的。 Ironpython 主要用于提供对 .net 库的访问权限。 CPython 没有它们,因此无法调试实现 .net 的 ipy 程序。
猜你喜欢
  • 1970-01-01
  • 2016-04-22
  • 1970-01-01
  • 2019-10-30
  • 1970-01-01
  • 2020-07-02
  • 1970-01-01
  • 2021-11-25
相关资源
最近更新 更多