作者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
1F:→ clickhere:基本上没错,但在计算上更大的问题并不仅在第一次复制. 05/05 00:00
2F:→ clickhere:for(i in 1:5) a[,c(2,4,6)] <- i 05/05 00:01
3F:→ clickhere:每个i回圈, a 都会被整个复制(hidden) 05/05 00:02
4F:→ clickhere:copy-on-modify可能才是大问题,这也是Rcpp能够解决的. 05/05 00:03
5F:→ clickhere:第一次复制,只要一开始宣告好,并不致於拖垮计算效能 05/05 00:05
6F:→ Wush978:後来我发现一个函数: tracemem 可以用来抓这类问题 05/22 00:27