Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Повысить быстродействие Iron python. На 100% используется одно ядро процессора

python
Теги: #<Tag:0x00007f7b64be5be0>

(Александр Шиповалов) #1

Добрый день, коллеги.
Возникла необходимость в автоматизации “толстого” клиента.
В качества основы взял Test.Stack.White и Iron Python. Просто потому, что знаю Python лучше чем C#
Однако все операции в ipy выполняются крайне медленно ,например, install какого нибудт пакета (предварительно скачанного) может занимать час, так же как и выполнение одного теста.
По диспетчеру задач видно, что ipy процесс на 100% занимает одно ядро процессора. Возможно дело именно в этом.
Может быть кто нибудь сталкивался с похожими проблемами быстройдействия iton python и может подсказать решение


(Artur Korobeynyk) #2

Долго долго писал пост о том почему питон медленный а ирон питон вообще тормоз, но потом решил написать короче - дотнет проект тестировать надо на дотнете… или компилируемом языке.
Как костыль - устанавливайте пакеты системными вызовами (os.system(install something)) а не питоновскими вызовами.


(rmerkushin) #3

Пощупай https://github.com/pythonnet/pythonnet еще от МС вот какая то шляпа https://github.com/Microsoft/Pyjion, сам не юзал :slight_smile:


(Александр Шиповалов) #4

То, что он тормоз я уже понял:)
Наверное действительно проще взять C#


#5

pythonnet прекрасно работает с .NET не выходя за пределы СPython в отличии от железного питона. Установка пакета в течение часа - это не слыхано для Питона. СPython вполне может даже быть быстрее .NET при использовании специальных пакетов и даже используется на суперкомпьютерах. То что .NET компилируется не сильно отличается от Питона - в любом случае используется bytecode (PYC & IL). Отличие в том, что в .NET есть еще JIT компилятор из IL в ASM, которого нет в CPython, но есть в PyPy, Pyston.