r - 从1到N生成序列的速度
问题描述
我很好奇从1
to生成序列的速度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)
,这也让我感到惊讶。谁能解释一下他们的性能差异?提前致谢!
解决方案
推荐阅读
- c++ - 如何正确使用结构的共享指针成员?
- spring-boot - Spring Data JPA CrudRepository 方法命名混乱
- instagram - How to figure out an Instagram username from the user id
- python - 为什么 3d 数组的打印结果与 python 中相同的心理可视化结果不同?
- r - 如何更改已与 R 中的对象一起保存的绘图中某些点的颜色?
- thinkscript - thinkscript if 函数在重要情况下无用
- django - 如何通过一个
- c++ - 我们可以将 operator++(int) 重载为指针吗?
- python - 使用 Pandas 在 Python 中将输出显示为 CSV
- javascript - 如何在 JavaScript 中将字符串与连字符匹配?