#python #performance #pyqt5 #python-standalone
#python #Производительность #pyqt5 #python-standalone
Вопрос:
Я создал приложение с помощью Python 3.7
и PyQt5
, которое отлично работает Windows 10
без проблем и запускается быстро (<1 секунды) при запуске из текстового редактора. Затем я преобразовал его с помощью PyInstaller
в автономное приложение. Оно также работает нормально, но для запуска требуется около 25 секунд (!). Что делает само приложение, так это:
- требуется текстовый файл, в котором хранятся значения с метками there
- оно преобразует текстовый файл в CSV-файл (6 столбцов 128 строк)
- открывается CSV-файл
- Оно преобразует информацию из CSV в формат panda
- затем оно оценивает определенные значения и создает отчет в соответствии со значениями (например: если значение параметра 1 равно 50, соответствующий сгенерированный текст будет «параметр высокий»)
Поскольку приложение предназначено для развертывания на компьютере, на котором не установлен python, и в рабочей среде, где эту задачу приходится выполнять много раз в день, я представляю, как пользователь lambda проклинает разработчика приложения, потому что для запуска приложения требуется 23 секунды
- Есть ли способ оптимизировать это время или это цена, которую приходится платить за автономное приложение, написанное на интерпретируемом языке, таком как python
- Должен ли я забыть о получении некоторой скорости от этого решения и переписать приложение на C . Если да, то проблема в том, что я ничего не знаю о C ==> существуют ли какие-нибудь автоматические переводчики?
Заранее большое спасибо за ваше понимание
Комментарии:
1. Вы, случайно, используете
--onefile
вместо стандартного--onedir
? Это требует распаковки некоторых зависимостей вашей программы во временный каталог при каждом ее запуске, и это единственная причина, по которой я могу предположить, почему для запуска требуется так много времени.2. спасибо за ваш ответ @jasonharper. Итак, что я на самом деле сделал, так это сначала
cd
определил каталог, в котором находится приложение, а затем запустилPyInstaller app.py
. Я не добавлял,--onefile
ни--onedir
. Как вы думаете, что я должен делать?