2013-11-01 3 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 

Debugger:

"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 выстрел. Это немного улучшилось, но разница между run и debug примерно одинакова. – melchoir55

ответ

5

Проблема была ironpython. По-видимому, ipy не работает с отладчиками. Я снова запускал pystone, используя те же отладчики (eclipse pydev, pycharm, visual studio), за исключением этого времени, используя обычный дистрибутив python вместо ironpython. Результаты были намного лучше:

Нормального запуск со стандартным питоном:

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

Debug бежать со стандартным питоном:

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

Так появляется регулярный питон еще испытывает существенное замедление в режиме отладки, но ничто по сравнению с замедлением, которое испытывает ironpython. Если вы столкнулись с этой проблемой, вы можете подумать о том, чтобы отбросить железо.

+0

Однако запуск версии ipy был быстрее, поэтому отладка в CPython и запуск в ipy – Mark

+0

Хорошая точка. Однако при некоторых обстоятельствах это было бы невозможно. Ironpython в основном существует для доступа к библиотекам .net. У CPython их не было бы, поэтому невозможно было бы отлаживать программу ipy, реализующую .NET. – melchoir55

Смежные вопросы