[問題] Rprof()的正確用法?
[問題類型]:
效能諮詢(我想讓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://www.ptt.cc/bbs/R_Language/M.1401326785.A.245.html
→
05/29 22:24, , 1F
05/29 22:24, 1F
→
05/29 22:25, , 2F
05/29 22:25, 2F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章