gpt4 book ai didi

java - 从 Java 调用 Python 函数(不使用 Jython,因为它太慢了。)

转载 作者:行者123 更新时间:2023-11-30 07:51:34 25 4
gpt4 key购买 nike

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

所以,这些是我的限制/要求:

  • 需要快
  • 我需要调用 python 函数并获取其结果
  • 脚本只能加载一次

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

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

最佳答案

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

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

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

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

关于java - 从 Java 调用 Python 函数(不使用 Jython,因为它太慢了。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33281487/

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