如果我想计算朱莉娅的事情
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
,但没有结果。
答案 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。