Я разрабатываю алгоритм и пытаюсь понять, сколько времени занимает каждый шаг в 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
Итак, теперь, если я добавлю все t1 и t2 из 100 итераций, мы увидим, что это время меньше, чем t0 или математически,
(t1 + t2) for 100 steps < t0
В чем причина вышеуказанного поведения? и как мы можем избавиться от этого поведения, поскольку это сильно влияет на время выполнения алгоритма.
microbenchmark
наstep1
иstep2
независимо друг от друга. - person Carl Witthoft   schedule 20.06.2013