3
我寫了這個「壞」作用的大小(volontary慢)來構建載體和測試執行時間:爲什麼一個循環的執行時間是不成正比的循環
f <- function(n){
vec <- c()
for (i in 1:n) {
vec <- c(vec, i)
}
}
我認爲如果我將循環的大小乘以10,則函數的執行時間將按比例增加。但是,我們可以看到,執行時間是不是在所有的比例,甚至十分優越:
> system.time(f(1e+04))
utilisateur système écoulé
0.14 0.00 0.14
> system.time(f(1e+05))
utilisateur système écoulé
13.35 0.00 13.49
> system.time(f(1e+06))
Timing stopped at: 1322.7 0.29 1338.59
也許這是一個基本的計算概念,但我不知道爲什麼這個循環的執行時間(但我認爲這是同樣的事情一般的循環)與循環的大小不成正比?
謝謝