2013-11-01 55 views
3

我正在嘗試使用pycharm來調試ironpython腳本。由於pycharm在調試模式下運行速度很慢,所以效果不佳。我意識到我們可以預計會出現一些放緩,但我正在經歷大約200倍的放緩。下面是我的pystone結果:Pycharm調試器比正常運行慢很多

正常運行:

"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 

任何人有任何想法可能怎麼回事呢?

+0

嘗試PyDev代替 – Artur

+0

我給了PyDev一槍。它表現稍好,但運行和調試之間的差距大致相同。 – melchoir55

回答

5

問題是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仍然遇到顯著放緩在調試模式下,但沒有什麼比Ironpython經歷的速度慢。如果你遇到這個問題,你可能會考慮傾銷Ironpython。

+0

然而,ipy發行版運行速度更快,因此在CPython中進行調試並在ipy – Mark

+0

中運行好點。但在某些情況下,我認爲這是不可能的。 Ironpython通常用於訪問.net庫。 CPython不會擁有它們,因此無法調試實現.net的ipy程序。 – melchoir55