这是我的问题。我有一个现有的.jar文件,我必须在我的程序中使用。不过,这个程序是用Python编写的。在
由于我的程序需要很长时间才能运行(大型开发语料库上的命名实体标记器),所以我使用cProfiler对其进行了分析,并使用line_profiler对其进行了线性分析。看来92%的时间都花在这项任务上了。在
我当前正在使用以下代码:import subprocess as sub
sub.call(["java", "-jar", "-Xmx512m", "MyFile.jar",
featuresFileName, numIterations, featureCutOff])
我在某个地方读到了关于subprocess vs Popen和其他一些细节的文章,但是没有找到一个不需要子进程或os调用的好的解决方案(当然,可能没有)。在
如果您能以最快的方式在Python脚本中运行.jar文件,我将非常感谢您的建议。但是请注意,我不能修改Java代码,也没有权限与该代码的开发人员交谈。在
或者,我不知道这是否有用,或者我只是在这里抓住了救命稻草,但是也许有一种方法可以让上面的sub.call()中调用的进程保持在后台,以某种方式保持JVM的运行(?)这样我就可以简单地调用jar文件了。也许这能帮助降低创业成本?顺便说一下,我是一个java新手(主要是C++、C语言、Python经验),所以我的问题毫无意义——我先道歉…在