是否可以将显示的时间存储@time在变量中?
例如下面的代码
for i in 1:10
@time my_function(i)
end
Run Code Online (Sandbox Code Playgroud)
显示我的函数的墙时间my_function,但我想将毫秒数存储在一个数组中,以便将其显示在一个图中,显示关于参数的执行时间的演变i。
Bog*_*ski 10
最简单的是使用@elapsed,例如:
julia> [@elapsed rand(5^i) for i in 1:10]
10-element Vector{Float64}:
3.96e-6
4.64e-7
7.55e-7
3.909e-6
4.43e-6
1.5367e-5
7.0791e-5
0.000402877
0.001831287
0.071062595
Run Code Online (Sandbox Code Playgroud)
如果您使用 BenchmarkTools.jl,那么那里还有一个@belapsed宏,用于比@elapsed.
编辑:
@time:在返回表达式的值之前,打印执行时间、分配次数以及执行导致分配的总字节数。任何花费在垃圾收集 (gc) 或编译上的时间都显示为百分比。@elapsed:丢弃结果值,而是以浮点数的形式返回执行所需的秒数