2

我正在尝试使用 Python 调用 Julia 脚本,以提高我需要调用很多次的函数的速度(对于某些 Monte Carlo 类型分析)。我已通过以下方式在 python 中成功安装并运行 Julia 脚本:

from julia import Main as JuliaMain  # julia().<something> --> is deprecated, use Main instead
# julia.install()  # use when running for the first time
script_julia = JuliaMain.include('juliascript.jl')

除了确保在 Julia 运行时中正确配置 PyCall。

如果我错了,请纠正我,但根据我目前的理解,这将编译内部的任何函数juliascript.jl,因为 Julia 会弄清楚返回类型是什么,并在你调用和/或定义函数时执行它所做的任何动作第一次。

考虑到定义的函数juliascript.jl类似于:

function f(x,y)
    z = x + y
    return z
end

如果我用 调用这个函数x = JuliaMain.eval("f(1, 3)"),这个函数的速度会反映一个多次调用的 Julia 函数,还是每次都有效地“重新编译”?此外,我怎样才能调用这些定义的函数而不必将我的请求转换为字符串呢?我从文档中知道您可以直接设置和获取变量,但这似乎很笨拙,我希望有一种更优雅的方式,例如JuliaMain.f(x, y)or格式的东西JuliaMain.runfunction.f(x, y)等。

4

0 回答 0