可以存储用 @time
显示的时间在一个变量?
例如下面的代码
for i in 1:10
@time my_function(i)
end
显示我的函数的挂墙时间 my_function
,但我想将毫秒数存储在一个数组中,以便将其显示在一个图中,该图中显示了关于参数 i
的执行时间的演变。 .
最佳答案
最简单的就是使用@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
如果你使用 BenchmarkTools.jl 那么还有 @belapsed
宏那里比 @elapsed
更准确的基准测试.编辑:
@time
:是 打印在之前执行所用的时间、分配的数量以及它的执行导致分配的总字节数返回表达式的值 .任何花费在垃圾收集 (gc) 或编译上的时间都显示为百分比。 @elapsed
:丢弃结果值 , 而是 返回 作为浮点数执行的秒数 关于julia - 如何将@time 的输出存储到变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66489315/