我有一个名为script.jl
的脚本,大致上看起来像这样:
...
function main()
a::... = function1()
b::... = function2(...)
c::... = function3(...)
A::... = function4(...)
B::... = function5(...)
C::... = function6(...)
end
main()
我无法计算 @time main()
,因为1-3函数是输入函数,所以它们的执行时间取决于用户的快慢。
有没有办法只计算4-6函数的时间?
我不知道,可以尝试这样做:
...
function main()
a::... = function1()
b::... = function2(...)
c::... = function3(...)
@time(
A::... = function4(...)
B::... = function5(...)
C::... = function6(...)
)
end
main()
x = @time foo()
或者x = @btime foo()
,其中@btime
是来自于BenchmarkTools
库的。 - HarmonicaMuse@btime
会将函数结果放入变量中。如果有人(如上面所述的 A)想要将运行时间设置为一个变量,则应该使用runTime = @elapsed foo();
或runTime = @belapsed foo();
,前提是使用了BenchmarkTools.jl
。 - Royi