Тот же самый вопрос уже задавался здесь , но не получил ответов.
Я написал скрипт, выполнение которого занимает очень много времени, и использую модуль ( tqdm ), чтобы дать мне отзыв о его продвижении. При запуске в удаленной среде через PyCharm производительность сценария составляет от 800 до 1000 итераций в секунду, что дает приблизительное общее время выполнения где-то между 4 и 5 часами.
Проблемы возникают, когда я пытаюсь запустить скрипт через классическую командную строку Linux в той же удаленной среде. При тех же обстоятельствах, в одной и той же среде, с использованием той же команды, с той лишь разницей, что я набрал ее сам, вместо того, чтобы PyCharm выдал ее мне, производительность сценария падает до 200-300 итераций в секунду, что приводит к примерно 10 -16 часов работы.
В PyCharm окно конфигурации запуска для моего скрипта выглядит так:
Как видите, использованный интерпретатор находится на моем сервере разработки в виртуальной среде, используемой всем проектом.
Мне пришлось скрыть имя и параметры скрипта, что может показаться вам неудобным, но я не думаю, что моя проблема связана с самим скриптом или его содержимым.
Чтобы запустить тот же скрипт через командную строку, вот что я делаю:
- SSH к моему серверу
cd
в папку моего проекта
- активировать мою среду
export PYTHONPATH=$(pwd)
- запустить тот же скрипт с теми же параметрами
... что на самом деле должно привести к тому же поведению, верно? Ну да, но не с той же скоростью. Это падение производительности на 70% происходит по причинам, которые я не могу понять, и которые, похоже, нигде не описаны в Интернете.
Я также пытался, в попытке идеально высмеивать то, что делает Пичарм:
- копирование точного вывода команды PyCharm после запуска скрипта и вставка его в мой терминал (безрезультатно)
- выдача
export PYTHONUNBUFFERED=1
перед запуском скрипта, который, как я знал, ничего не изменит (не сделал)
Я схожу с ума по этому поводу. Это результат каких-то сомнительных махинаций PyCharm?
Любой ввод, связанный с тем, что делает PyCharm, который может даже удаленно ускорить некоторые аспекты выполнения скрипта Python, приветствуется!
Заранее спасибо.