首页 > 解决方案 > 从1到N生成序列的速度

问题描述

我很好奇从1to生成序列的速度N,发现性能相差很大

library(microbenchmark)
N <- 1000
microbenchmark(unit = "relative",
               1:N,
               seq(N),
               seq(1,N))

显示

Unit: relative
      expr min lq     mean median   uq       max neval
       1:N NaN  1  1.00000      1  1.0  1.000000   100
    seq(N) Inf 38 25.50617     39 21.0  9.818182   100
 seq(1, N) Inf 43 29.89506     44 23.5 29.181818   100

我正在考虑seq(N)并且seq(1,N)可能在速度方面接近,但基准让我感到惊讶。此外,1:N比 快得多seq(N),这也让我感到惊讶。谁能解释一下他们的性能差异?提前致谢!

标签: rseq

解决方案


推荐阅读