julia - 如何将@time 的输出存储到变量中?
问题描述
是否可以将显示的时间存储@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
:丢弃结果值,而是将执行所花费的秒数作为浮点数返回
推荐阅读
- docker - nomad 的工作如何从本地 docker 图像中获取
- node.js - 使用 WSL 在 VSCode 中使用 nodemon + babel-node 进行调试
- javascript - 登录后需要相互等待的多个 axios 调用,然后将用户重定向到 Vue.js 上的仪表板 [时间问题]
- javascript - 在 onsubmit 函数完成之前如何防止表单提交?
- sql - 查询以查找具有指定月份的帐户
- reactjs - Img 的来源应该是动态的
- php - 循环进入 CSV 文件并从头文件 PHP 中获取特定值
- python - 如何将 2D 数组“切片”成 3D 数组
- python - 在 Pandas 数据框中使用 groupby 和 shift 操作计算条件概率
- angular - Angular:如何在不更改模板路由的情况下更新 queryParams