我怎样才能衡量我的朱莉娅计划的时间?

时间:2017-10-10 03:55:07

标签: time julia

如果我想计算朱莉娅的事情

invQa = ChebyExp(g->1/Q(g),0,1,5) 
a1Inf = ChebyExp(g->Q(g),1,10,5)
invQb = ChebyExp(g->1/Qd(g),0,1,5)
Qb1Inf = ChebyExp(g->Qd(g),1,10,5)

我如何计算时间?我需要等多少秒才能完成这四件事?我是否将tic()放在开头,将toc()放在最后?

我尝试了@elapsed,但没有结果。

2 个答案:

答案 0 :(得分:6)

基本方法是使用

@time begin
  #code
end

但请注意你never should benchmark in the global scope

可以帮助您对代码进行基准测试的软件包BenchmarkTools.jl也应该查看。

答案 1 :(得分:2)

你可以这样做(我猜g是输入参数):

function cheby_test(g::Your_Type)
    invQa = ChebyExp(g->1/Q(g),0,1,5) 
    a1Inf = ChebyExp(g->Q(g),1,10,5)
    invQb = ChebyExp(g->1/Qd(g),0,1,5)
    Qb1Inf = ChebyExp(g->Qd(g),1,10,5)
end

function test()
    g::Your_Type = small_quick  #  
    cheby_test(g)    #= function is compiled here and 
                        you like to exclude compile time from test =#
    g = real_data()
    @time cheby_test(g)  # here you measure time for real data
end

test()

如果你喜欢时间宏的to get proper allocation info,我建议不要在全球范围内调用@time。