【发布时间】:2020-09-28 16:32:04
【问题描述】:
使用Microbenchmark 时,我注意到第一次执行总是比其他执行慢很多。这种效果在不同的机器和不同的功能上是相同的。这是否与图书馆有关,或者这是预期的某种预热?
library(microbenchmark)
X <- matrix(rnorm(100), nrow = 10)
microbenchmark(solve(X))$time
#[1] 82700 23700 18300 17700 19700 19100 16900 17500 17300 16600 16700 16700 18500 16900 17700 16900 17000 16200 17400 17000 16800 16600 17000 16700 16800 17100
#[27] 17300 17100 16800 17800 17400 18100 17400 18100 18000 16700 17400 17300 17000 16800 16400 17300 16700 16900 16900 16700 17200 17800 16600 17100 16800 17800
#[53] 17000 17200 17500 17200 17200 17300 17800 17600 17600 17200 16600 16700 16800 16600 16400 16500 17300 17600 16800 17600 16300 16800 17100 16500 16800 16700
#[79] 16300 16700 16300 16700 16800 16700 16400 17100 16400 17100 17000 18000 16600 16600 16600 16800 16700 16500 17600 19100 17400 16900
【问题讨论】:
-
这与预热时间有关,请参阅
help('microbenchmark'),部分详细信息,参数control。如果增加预热迭代次数,第一次运行可能不是最慢的:microbenchmark(solve(X), control = list(warmup = 10))$time。 -
@RuiBarradas 你应该把它作为答案发布
标签: r microbenchmark