作者Wush978 (拒看低質媒體)
看板R_Language
標題[討論] R 什麼時候會複製物件
時間Sat May 4 11:22:02 2013
[問題類型]:
效能諮詢(我想讓R 跑更快)
[軟體熟悉度]:
開發者(有撰寫R 的套件經驗)
[問題敘述]:
R 在怎樣的情況下會在記憶體中複製物件
[你的答案]:
我最近在研究這個問題,
我把研究結果也一併丟到stackoverflow:
http://stackoverflow.com/questions/15759117/what-exactly-is-copy-on-modify-semantics-in-r-and-where-is-the-canonical-source
但是我不知道這樣做對不對。
結論是:R 除了copy-on-modify外,也只有在第一次的modification會複製物件
(無論該物件的reference有幾個)
[關鍵字]:
R, performance, copy-on-modify
--
歡迎加入 Taiwan R User Group :
http://www.facebook.com/Tw.R.User
我們每週一都有在「政大公企中心(台北市金華街187號)西樓WB05」
舉辦Machine Learning / Data Mining Monday:
報名
http://www.meetup.com/Taiwan-R/
聚會影片
https://www.youtube.com/user/TWuseRGroup
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.170.136.86
→ clickhere:基本上沒錯,但在計算上更大的問題並不僅在第一次複製. 05/05 00:00
→ clickhere:for(i in 1:5) a[,c(2,4,6)] <- i 05/05 00:01
→ clickhere:每個i迴圈, a 都會被整個複製(hidden) 05/05 00:02
→ clickhere:copy-on-modify可能才是大問題,這也是Rcpp能夠解決的. 05/05 00:03
→ clickhere:第一次複製,只要一開始宣告好,並不致於拖垮計算效能 05/05 00:05
→ Wush978:後來我發現一個函數: tracemem 可以用來抓這類問題 05/22 00:27