我们往往对自己编写程序的运行效率十分关心,需要查看程序的执行时间。
在R中,获得时间的函数有不少,比如system.time()、proc.time()等。
个人使用较多的是proc.time()
> proc.time() 用户 系统 流逝 12.60 0.93 773.10
英文版本显示的分别是:user system elapsed
“用户”时间指运行此程序使用CPU的时间,它不包括此阶段内计算机其它进程的时间(比如开的杀毒软件等等);
“系统”时间指程序中的一些诸如打开、关闭文件,分配、释放内存,执行系统指令等等的CPU时间,也不包括其它进程占用的时间;
“流逝”时间则指实际执行时间。当单线程执行程序时,前两者之和约等于(略小于)第三者。而当多线程时,第三者可能小于甚至远小于前两者之和~~
常用的一种查看程序执行时间的方式:
t1=proc.time() #程序体 t2=proc.time() t=t2-t1 print(paste0(\'执行时间:\',t[3][[1]],\'秒\'))
[1] "执行时间:9.76999999999998秒"