줄리아에서 벡터 (특히 Vector{Complex128}
)를받는 함수를 정의하려고합니다. @code_warntype
의 출력을 보면 변수 유형이 Any
으로 나열되어 있습니다. 내가 이해하는 바와 같이 이것은 잠재적으로 속도에 영향을 줄 수 있습니다. @code_warntype
에서왜 줄리아는 함수 인수로 전달 된 배열의 형식을 인식하지 못하고 대신 Any로 나열합니까?
function abc(h::Vector{Complex128})
a=1+2
end
출력은
julia> @code_warntype abc(zeros(Complex128,2))
Variables:
#self#::#abc
h::Any
a::Int64
Body:
begin
SSAValue(0) = (Base.add_int)(1, 2)::Int64
return SSAValue(0)
end::Int64
Any
으로 나열 가변 h
유형이다 : 여기에서, 예를 들면 코드의 간단한 버전이다. 나는 줄리아에 처음 왔고 여기에 뭔가 빠졌는 지 실제로 알지 못합니다. 이 동작은 Vector{Complex128}
에만 해당되는 것 같지 않으며, Vector{Float64}
과 동일한 동작을합니다. 여기에 변수 유형에 주석을 달고 있습니까? 아니면 어떻게 작동해야합니까? 그게 문제라면 julia v0.6.0을 사용하고 있습니다.