我正在尝试使用 pycharm 来调试 ironpython 脚本。它进展不顺利,因为 pycharm 在 Debug模式下运行非常缓慢。我意识到我们可以预期会出现一些放缓,但我正在经历大约 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
有人知道这里会发生什么吗?
最佳答案
问题是 ironpython。显然,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 在 Debug模式下仍然会出现明显的速度下降,但与 ironpython 经历的速度下降相比没有什么。如果您遇到此问题,您可能会考虑转储 ironpython。
关于python - Pycharm 调试器比正常运行慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19735254/