我正在设计一种算法,并试图查看 R 中的每个步骤需要多少时间以及整个过程需要多少时间。要获取时间信息,我使用 proc.time() 命令。似乎所有迭代的每个步骤的时间与总时间不匹配。让我举一个例子来更好地说明:
t0 <- proc.time()
for (i in 1 :100){
t1<- proc.time()
step 1
t1 <- proc.time() - t1
t2<- proc.time()
step 2
t2 <- proc.time() - t2
}
t0 <- proc.time() - t0
所以,现在如果我添加 100 次迭代的所有 t1 和 t2,我们看到这个时间小于 t0 或数学上,
(t1 + t2) for 100 steps < t0
上述行为的原因是什么?以及我们如何摆脱这种行为,因为这会极大地影响算法的运行时间。