作者dppman (*^o^*)
看板R_Language
标题[问题] Rprof()的正确用法?
时间Thu May 29 09:26:22 2014
[问题类型]:
效能谘询(我想让R 跑更快)
我目前的R Code中,有一段repeat要跑很久
想用Rprof()去做Profiling,但是Rprof()该怎麽塞到Code里才会抓到正确的资料了?
另外,除了Rprof(),还有其他更好用的R Profiling tool吗?
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
利用rhdfs读取Hadoop HDFS档案系统上的超大CSV挡
[程式范例]:
Sys.setenv(HADOOP_CMD="/usr/lib/hadoop/bin/hadoop")
Sys.setenv(HADOOP_COMMON_LIB_NATIVE_DIR="/usr/lib/hadoop/lib/native/")
Sys.setenv(HADOOP_STREAMING="/usr/lib/hadoop-mapreduce/hadoop-streaming-2.2.0.2.0.6.0-101.jar")
library(rmr2);
library(rhdfs);
hdsf.init();
f = hdfs.file("/etl/rawdata/201111.csv","r",buffersize=104857600);
Rprof(tmp0528<-tempfile())
repeat {
m = hdfs.read(f)
duration <- as.numeric(difftime(Sys.time(), start.time, unit = "secs"))
print(length(m) / duration)
start.time <- Sys.time()
Rprof() /*Rprof()放这正确吗?还是要放repeat回圈才是正确呢?
}
summaryRprof(tmp0528)
[关键字]:
Performance, Profiling, Debug
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.251.38.1
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/R_Language/M.1401326785.A.245.html
1F:→ Wush978:我没弄错的话,Rprof会观测tmp0528到Rprof()之间的效能 05/29 22:24
2F:→ Wush978:我觉得怎麽放都可以, 不知道怎麽回答「对不对」的问题 05/29 22:25