gpt4 book ai didi

java - 从 Python 运行 Java jar 文件的最快方法?

转载 作者:行者123 更新时间:2023-11-28 22:03:11 26 4
gpt4 key购买 nike

这是我的问题。我有一个必须在我的程序中使用的现有 .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 经验)所以我的问题毫无意义 - 我提前道歉......

最佳答案

您可以尝试将您的 Python 移植到 Jython,然后在同一个 JVM 中本地运行它(这可能有效也可能无效)。这样一来,您的启动时间实际上为零,并且 JVM 有足够的时间随着时间的推移利用其 JIT 来理想地为您提供更好的整体性能。

关于java - 从 Python 运行 Java jar 文件的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com