Julia:效率和指示参数类型

A. *_*ris 4 methods types function julia

我有三个关于指定函数参数和输出类型的相关问题。我正在定义一个希望多次调用的函数 f,因此我希望尽可能提高效率。我的函数定义如下所示:

function f(x, y)
    ...
    return z
end
Run Code Online (Sandbox Code Playgroud)

我知道这x将是一个数组{Float64,1},y将是一个数组{Float64,2},z并将是一个 Float64。

我的问题是:

  1. 在函数定义中指定输入类型是否有效率优势,即function f(x::Array{Float64}, y::Array{Float64})
  2. 通过指定x一维和二维来使类型更具体是否有任何额外的好处y,即function f(x::Array{Float64,1}, y::Array{Float64,2})
  3. 是否有效率的好处指定的类型z,即function f(x::Array{Float64,1}, y::Array{Float64,2})::Float64

非常感谢!如果这些问题之前已经得到解决,我们深表歉意。

Ben*_*ier 8

一般来说,没有(对所有问题)。Julia 的美妙之处在于它的编译器非常擅长即时为您解决这些问题。在性能技巧是寻找如何编写高效的代码,如确保您的功能最好的地方是型稳定