IronPython 2.0 выполняет код медленно - PullRequest
0 голосов
/ 22 мая 2009

Кажется, что IronPython 2.0.1 выполняет файл сценария примерно в 3 раза медленнее, чем IronPython 1.x. Я не уверен, что это не то, чем я занимаюсь, поэтому мне интересно, был ли у других подобный опыт.

У меня есть сценарий Python 200k, выполнение которого занимает 5 секунд из файла на IP 1.x и почти 18 секунд на IP 2.0.1!

Ответы [ 4 ]

0 голосов
/ 04 июня 2009

Вы можете прочитать статью IronPython: повторное использование символов импорта для предотвращения скачков производительности , которые могут ускорить выполнение встроенных сценариев.

0 голосов
/ 28 мая 2009

У меня также была похожая проблема, когда я начал использовать IronPython 2.0. Для меня проблемой было мрачное время запуска DLR. После загрузки среды выполнения производительность скрипта становится достаточно высокой.

Чтобы сократить время запуска, вы можете попробовать ОТМЕНА бинарных файлов . Для меня это уменьшило время запуска примерно на 60%.

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

0 голосов
/ 29 мая 2009

Включает ли ваш тайминги время запуска? IronPython 2.6 Beta имеет радикальные улучшения времени запуска и компиляции / выполнения кода. Предлагаю вам попробовать этот релиз, если можете.

Ура, Дэви

0 голосов
/ 23 мая 2009

Определенно есть вещи, которые намного медленнее в IronPython, чем в Python. Зачастую это происходит из-за странного углового случая в реализации. Стоит попытаться свести его к очень простому сценарию, демонстрирующему разницу в производительности, и отправить его в список рассылки IronPython - разработчики очень отзывчивы.

Недавно была опубликована серия интересных постов в блоге о производительности IronPython - это хороший обзор . Суть в том, что вы можете получить очень хорошую производительность, если избежите ловушек, и команда IP очень заинтересована в том, чтобы узнать об этих проблемах и быстро их исправить. Сужать репродукцию, чтобы найти ловушку, - самая трудная часть - как только вы определились с тем, что вызывает поведение, вам, как правило, легко обойти.

...