我們往往對自己編寫程序的運行效率十分關心,需要查看程序的執行時間。
在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秒"