看板 R_Language 關於我們 聯絡資訊
[問題類型]: 效能諮詢(我想讓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