在R中,获得时间的函数有不少,比如Sys.time()、proc.time()等。
proc.time()
proc.time用于获取R语言软件到当前时刻的打开时间,可以用于统计某个程序的运行时间。
> proc.time()
用户 系统 流逝
368.700 175.583 258556.755
英文版本显示的分别是:user system elapsed
- “用户”时间:指运行此程序使用CPU的时间,它不包括此阶段内计算机其它进程的时间(比如开的杀毒软件等等);
- “系统”时间:指程序中的一些诸如打开、关闭文件,分配、释放内存,执行系统指令等等的CPU时间,也不包括其它进程占用的时间;
- “流逝”时间:则指实际执行时间。当单线程执行程序时,前两者之和约等于(略小于)第三者。而当多线程时,第三者可能小于甚至远小于前两者之和。
> t1=proc.time()
> #程序体
> t2=proc.time()
> t=t2-t1
> print(paste0('执行时间:',t[3][[1]],'秒'))
system.time()
使用system.time,如果里面用的是一个程序,那就用大括号{}括起来!
> system.time({a <- ncov(par,4,matrix(NA,10,10))})
用户 系统 流逝
0.003 0.001 0.006
> print(paste0("执行时间:",a[3][[1]],"秒"))
[1] "执行时间:16秒"
Sys.time()
Sys.time获得当前系统时间,达到秒的精度。
Sys.sleep让R语言在做计算时停顿下,减缓运行速度。
> Sys.time()
[1] "2021-02-19 00:05:10 CST"
> Sys.sleep(2) #睡眠2秒