R:bench :: mark不返回最大值和均值

问题描述 投票:1回答:1

考虑以下示例

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。

有人知道这里的问题吗?

r benchmarking
1个回答
0
投票

通常运行很有用

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
© www.soinside.com 2019 - 2024. All rights reserved.