我想在R
中记录时间,就像在Python 3
中一样,但我不知道从哪里开始。在Python
我会这样做。我如何在R
中做同样的事情?
>>> import time
>>> start_time = time.time()
>>> time.time() - start_time
6.0202391147613525
答案 0 :(得分:1)
Sys.time
就是您所需要的。
current_time <- Sys.time()
Sys.time() - current_time
#Time difference of 2.900852 secs
但是,这有一类difftime
class(Sys.time() - current_time)
#[1] "difftime"
如果您想将其作为操作号码,可以使用as.numeric
as.numeric(Sys.time() - current_time)
#[1] 2.900852
这里的单位并不总是恒定的,你可能会面临处理它的问题。例如,当我现在做
时Sys.time() - current_time
它给了我
#Time difference of 12.12814 mins
这里要注意的是,最初的单位是秒,现在是几分钟。因此,当您使用它们进行某些计算时,这是不一致的并且可能很麻烦。
为了克服这个问题,正如@ r2evans在评论中提到的那样,我们可以通过
来设置单位my_diff = Sys.time() - current_time
units(my_diff) <- "secs"
my_diff
#Time difference of 592.8649 secs
所以无论持续时间如何,这都会以秒为单位返回差异。
答案 1 :(得分:0)
像这样使用proc.time()
:
start_time <- proc.time()
Sys.sleep(1)
proc.time() - start_time
,并提供:
user system elapsed
0.00 0.03 1.04
计时表达式:
system.time(Sys.sleep(1))
,并提供:
user system elapsed
0 0 1
另请参阅microbenchmark,rbenchmark和tictoc软件包。