Вот моя проблема. У меня есть существующий файл .jar, который я должен использовать в своей программе. Программа, однако, написана на Python.
Поскольку моей программе требуется много времени для запуска (именованный тег сущности в большом корпусе разработки), я профилировал его с помощью cProfiler и выстроил профилирование с помощью line_profiler. Похоже, 92% времени уходит на эту задачу.
В настоящее время я использую следующий код:
import subprocess as sub
sub.call(["java", "-jar", "-Xmx512m", "MyFile.jar",
featuresFileName, numIterations, featureCutOff])
Я где-то читал о подпроцессе против Popen и других фрагментах, но не смог найти хорошего решения, которое не требует вызовов подпроцесса или os (конечно, их может и не быть).
Я бы очень признателен за несколько советов о том, как быстро запустить файл .jar из скрипта Python. Однако обратите внимание, что я не могу изменить код Java, и у меня нет доступа, чтобы поговорить с разработчиком этого кода.
В качестве альтернативы, и я не знаю, поможет ли это или я просто хватаюсь за соломинку здесь, но, возможно, есть способ сохранить процесс, называемый sub.call()
выше, в фоновом режиме, каким-то образом сохраняя JVM работает (?), чтобы я мог просто вызвать файл JAR. Может быть, это поможет сократить расходы на запуск? Кстати, я новичок в Java (в основном C ++, C #, опыт работы с Python), поэтому мой вопрос не имеет никакого смысла - заранее извиняюсь ...