作者andrew43 (apan)
看板R_Language
标题Re: [问题] 注解和效能
时间Mon Apr 15 15:31:16 2013
我不是很确定答案, 但提供你几个测试.
你都跑跑看大概就知道了.
记得按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
1F:→ obarisk:看来有注解还是会比较慢,只是差异很小而已 04/15 19:55
2F:→ obarisk:谢谢你的回覆,我试试complier看看 04/15 19:55
3F:→ andrew43:应该是差蛮大 (拿4和2比). 完美的情况下4和2要一样啊. 04/15 21:13
4F:→ andrew43:不过直译大多是这样的吧 04/15 21:13
5F:→ obarisk:对啊><我应该要去check用compiler後的效能 04/16 12:17
6F:→ obarisk:测了一下,有没有注解真的差很少 04/17 11:32
7F:→ andrew43:了解了 04/17 21:03
8F:→ obarisk:而且compile不影响有无comment的时间@@ 04/19 18:47
9F:→ obarisk:R到底是怎麽搞定的呢,真有趣。 04/19 18:48