写了一个函数,发现一直在运行。
于是插入了很多println()
。
结果发现,直到调用此函数之前,println()
都能运行。可是被调用函数内部第一行println()
却没有执行。
比如:
function main(...)
...
println("完成径向工作点计算")
ψJ = getψJ(nJ, nθ, zJθ, δJθ, funψzδ)
println("完成径向密度计算; 开始计算angle variable")
ϕJθ = getϕOfZE(zJθ, zMaxs, Js, funJ2E, [minBucketBound, maxBucketBound], nθ, par; ΔJ=ΔJ)
...
end
function getϕOfZE(zJθ::Matrix, zmaxs::Vector, Js::Vector, funJ2E, BucketBounds, ncircle::Int64, par::ParDBRF; ΔJ=1e-9)
println("00")
...
end
输出:
完成径向工作点计算
完成径向密度计算; 开始计算angle variable
任务管理器显示Julia一直在占用CPU。
过了得40分钟吧,被调用的程序终于运行了。不过这也太慢了。是编译的问题吗?