ここに問題があります。私は自分のプログラムで使わなければならない既存の.jarファイルを持っています。しかし、プログラムはPythonで書かれています。PythonからJava jarファイルを実行する最速の方法は?
私のプログラムは実行に時間がかかります(大規模な開発コーパス上で名前付きエンティティタグを使用しています)、私はcProfilerを使用してプロファイルを作成し、line_profilerを使用してプロファイルを作成しました。 92%の時間がこの作業に費やされているようです。
import subprocess as sub
sub.call(["java", "-jar", "-Xmx512m", "MyFile.jar",
featuresFileName, numIterations, featureCutOff])
私はpopenの、その他のこまごまとした対サブプロセスについてどこかで読んますが、(のサブプロセスやOSのコールを必要としない、良い解決策を見つけることができませんでした:私は現在、次のコードを使用してい
もちろん、何もないかもしれません)。
私は、Pythonスクリプト内から.jarファイルを実行する最も速い方法についていくつかのアドバイスをいただきありがとうございます。ただし、Javaコードを変更することはできません。また、そのコードの開発者と話すためのアクセス権もありません。
また、これが役立つのか、ここではわたしが簡単に把握しているのか分かりませんが、上記のsub.call()
というプロセスを何らかの形でバックグラウンドで実行する方法があります(?)のでjarファイルを呼び出すことができます。おそらくそれはスタートアップコストを削減するのに役立つでしょうか? BTW私はJavaの初心者(主にC++、C#、Pythonの経験)ですので、私の質問は全く意味をなさないでしょう - 私は事前にお詫びします...
私はその方向にも進んでいました...残念なことに、私はアルゴリズムの各パスで一度それを実行しなければならず、同時実行性がないことに気が付いたときに気づきました。 – mlnyc
Javaコードを変更する必要がある場合は、速くしたいと思うようです。起動時間を改善するための標準的な方法は、jarを呼び出す別のjarを追加することで可能なサービスとしてjarを実行することです。これは、あなたのサービスが常に実行されているという利点があります(スタートアップなし) –
これはまさに私が質問するために私の質問を編集したものです:)まずページをリフレッシュしてください...私はそれを試してみるつもりです。私はいくつかの結果があるときに戻って...ありがとう! – mlnyc