我正在设计一个算法,并试图了解每个步骤需要多少时间才能完成R处理以及总流程需要多长时间。要获取时间信息,我使用proc.time()命令。似乎所有迭代的每个步骤的时间与总时间不匹配。让我举一个例子为了更好地说明:R中的处理时间
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
所以,现在如果我加入所有t1和100次迭代的T2,我们看到,这个时间小于T0或数学,
(t1 + t2) for 100 steps < t0
什么上述行为的原因是什么?以及我们如何摆脱这种行为,因为这会严重影响算法的运行时间。
他们有什么不同? – doctorlove
所以,我运行这个迭代28000次,差不多有10步,并且对于每次迭代,时间量都会变化,并且在我进行的运行中,为28000次迭代添加了t1,t2,t3 ... t10小时,其中t0为13小时。所以,差不多6小时,我想说的是巨大的 – Pawan
正如利维乌斯所说,如果你只加起来t1的最后一个值,t2并且有很大的变化,那很可能是错误的 – doctorlove