看板 R_Language 關於我們 聯絡資訊
我不是很確定答案, 但提供你幾個測試. 你都跑跑看大概就知道了. 記得按esc還是ctrl+c中斷 1. 不斷跑 5+5 while(T) { t1<-Sys.time() for (a in 1:10000) {eval(parse(text="5+5"))} t2<-Sys.time() cat(t2-t1, "(s)\n") } 2. 不斷跑 #5+5 while(T) { t1<-Sys.time() for (a in 1:10000) {eval(parse(text="#5+5"))} t2<-Sys.time() cat(t2-t1, "(s)\n") } 3. 不斷跑空白鍵 while(T) { t1<-Sys.time() for (a in 1:10000) {eval(parse(text=" "))} t2<-Sys.time() cat(t2-t1, "(s)\n") } 4. 不斷什麼事都沒做 while(T) { t1<-Sys.time() for (a in 1:10000) {} t2<-Sys.time() cat(t2-t1, "(s)\n") } 我的結果是: 測試 4 最快, 測試 2 和 3 就慢了且是幾乎一致, 而測試 1 只再慢一點點而已! 結論: 是的, R 對註解很可能沒什麼特別的增加效率作用, 直譯器嘛別太計較了. ※ 引述《obarisk (OSWALT)》之銘言: : [問題類型]: : 效能諮詢:關於直譯式語言的註解,影響效能的程度! : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 我有一個需要最佳化的程式碼,為了讓程式碼更清晰,必需要註解。 : 最佳化的目標是函式,函式裡面有註解。 : 我的問題是,加入註解是否會影響程式碼的效能? : 還是R有機制會把函式的註解去掉? : google大神沒有告訴我答案,可能關鍵字有錯>< : [程式範例]: : : fTest <- function(a){ : # do nothing : } : fTest2<- function(a){ : } : # 兩個會有差別嗎? : : [關鍵字]: : 效能、註解 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.128.117.73
obarisk:看來有註解還是會比較慢,只是差異很小而已 04/15 19:55
obarisk:謝謝你的回覆,我試試complier看看 04/15 19:55
andrew43:應該是差蠻大 (拿4和2比). 完美的情況下4和2要一樣啊. 04/15 21:13
andrew43:不過直譯大多是這樣的吧 04/15 21:13
obarisk:對啊><我應該要去check用compiler後的效能 04/16 12:17
obarisk:測了一下,有沒有註解真的差很少 04/17 11:32
andrew43:了解了 04/17 21:03
obarisk:而且compile不影響有無comment的時間@@ 04/19 18:47
obarisk:R到底是怎麼搞定的呢,真有趣。 04/19 18:48