julia - 如何将@time 的输出存储到变量中?

标签 julia

可以存储用 @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/

    相关文章:

    performance - 关于 Julia 和 Matlab 之间时序比较的奇怪观察

    dictionary - 如何将 Julia 中的两个向量组合成一个字典?

    julia - 为 Julia 应用(来自 R)等效项?

    matrix - Julia 中的整数矩阵可视化

    julia - 如何访问 Julia 中的扩展帮助模式?

    struct - 在 Julia 中包含一个模块并从另一个模块中调用其函数之一

    loops - 对于高维数组,Julia 中的数组访问循环很慢

    julia - 将 DataType 的 Vector 约束为特定的抽象类型

    multidimensional-array - 在 Julia 中构建多维数组

    julia - 如何更改国家名称然后绘制全局 map ?