r - R: bench::mark 不返回最大值和平均值
问题描述
考虑以下示例
res <- bench::mark(rnorm(1e5))
names(res)
#> [1] "expression" "min" "median" "itr/sec" "mem_alloc"
#> [6] "gc/sec" "n_itr" "n_gc" "total_time" "result"
#> [11] "memory" "time" "gc"
我有点困惑,不包括平均值和最大运行时间,这与帮助页面相矛盾。工作台版本是 1.0.4 和 R 3.63。
有谁知道这里的问题是什么?
解决方案
运行通常很有用
str(res)
看看函数的输出是什么。在这种情况下,对象的成员之一,接近尾声,是
# $ time :List of 1
# ..$ : 'bench_time' num 12.3ms 16.1ms 17.9ms 12.3ms 13.4ms ...
这意味着这res$time
是一个只有一个成员的列表。
所以结果被保存下来,res$time[[1]]
并且可以从中计算出平均值和最大值。
例如,median(res$time[[1]])
与打印结果进行比较。它们是相同的值。
median(res$time[[1]])
#[1] 12.3ms
平均值和最大值将是
mean(res$time[[1]])
#[1] 12.5ms
max(res$time[[1]])
#[1] 17.9ms
推荐阅读
- python - 在 pandas DataFrame 中计算每列行中的重复项
- winapi - 如何告诉 CreateProcess 我不需要用户权限提升
- c++ - 为什么在链表中使用 struct 关键字和结构名称来创建节点的指针
- python - 从传感器数据到预测性维护的路线图
- angular - 使用 VSTS 管道进行生产后的 Angular e2e 测试
- bots - 回复多个用户电报(消息 ID)PHP Bot
- android-tv - 如何使用 android Tv 在 searchfragment 中隐藏语音搜索图标
- java - 如何从 listview Android-Studio 设置文本
- java - 如何将附件添加到我的邮件发件人 JavaMail?
- excel - 文本框中的开始和结束选择 - VBA