我想衡量总结所需的时间,并比较添加的内容如何改变时间。例如,我希望看到有1,2或3个数字相加的时间。
for (j in 1:3)
print(j)
user_time <- system.time(my_sum_func(j))[1]
print(user_time)
我希望获得如下输出:
> for (j in 1:3)
+ print(j)
[1] 1
> user_time <- system.time(my_sum_func(j))[1]
> print(user_time)
user.self
0 #or some other time
+ print(j)
[1] 2
> user_time <- system.time(my_sum_func(j))[1]
> print(user_time)
user.self
0 #or some other time
+ print(j)
[1] 3
> user_time <- system.time(my_sum_func(j))[1]
> print(user_time)
user.self
0 #or some other time
但实际上我得到了:
> for (j in 1:3)
+ print(j)
[1] 1
[1] 2
[1] 3
> user_time <- system.time(my_sum_func(j))[1]
> print(user_time)
user.self
0
系统时间似乎只在循环的最后一次迭代中运行。
如何为每次不同的测试获取用户时间?
答案 0 :(得分:0)
您在每次迭代时都会覆盖user_time
。改为创建一个列表并在循环期间附加值。接下来,您可以根据需要比较时间或总和
user_time <- list()
for (j in 1:3) {
...
user_time[[(length(user_time) + 1)]] <- system.time(my_sum_func(j))
...
}