从 Java 调用 Python 函数(没有 Jython,因为它太慢了。)

Calling Python Functions from Java (Without Jython, because it is too slow.)

我需要能够从 Java 调用 Python 函数,并获取这些函数的 return,它们应该只是原语。
我也不需要访问 Python 中的 Java 对象或其他类似的东西。
但是,最重要的是,我需要速度。我需要能够在我的应用程序开始时加载脚本,然后在不同的时间间隔调用一些函数,这有时会变得非常小(每秒 30-40 次)。
这就是我认为 Jython 不适合我的主要原因:它有各种我不需要的东西,而且速度非常慢。

所以,这些是 constraints/requirements 我有:

你们知道另一种在预加载脚本中简单地调用 Python 函数的方法吗(这样就不必为每个函数调用一次又一次地加载脚本)?

(PS: 我不认为这是重复的,因为我搜索了很多,我找到的所有链接都没有回答我的问题(例如 Calling Python in Java?))

您可以编写一些 JNI 代码来嵌入 CPython 解释器。

您可以编写一个 Python 程序,将 运行 作为守护程序(或 Web 服务或其他)并通过某种网络连接到它。我在这里故意含糊其词,因为这是一个具有多种可能性的广泛问题。

我不知道以上任何一个实际上是否比调用 Jython 更快。请注意,您可以加载一次 Jython 解释器并(重新)将其用于每个函数调用。

如果您在 Java 中重写 Python 函数会怎样?如果这是您尝试组合多种语言的原因,您甚至可以动态加载它。或者,Java8 带有一个(新的)Java脚本引擎。您可以使用 JavaScript 而不是 Python.