[問題] Rprof()的正確用法?

看板R_Language作者 (*^o^*)時間10年前 (2014/05/29 09:26), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
[問題類型]: 效能諮詢(我想讓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
我沒弄錯的話,Rprof會觀測tmp0528到Rprof()之間的效能
05/29 22:24, 1F

05/29 22:25, , 2F
我覺得怎麼放都可以, 不知道怎麼回答「對不對」的問題
05/29 22:25, 2F
文章代碼(AID): #1JXep195 (R_Language)
文章代碼(AID): #1JXep195 (R_Language)