On Tue, Jan 17, 2012 at 9:11 PM, Matthew Dowle <mdo...@mdowle.plus.com> wrote: > Hi, > > $ R --vanilla > R version 2.14.1 (2011-12-22) > Platform: i686-pc-linux-gnu (32-bit) >> DF = data.frame(a=1:3,b=4:6) >> DF > a b > 1 1 4 > 2 2 5 > 3 3 6 >> tracemem(DF) > [1] "<0x8898098>" >> names(DF)[2]="B" > tracemem[0x8898098 -> 0x8763e18]: > tracemem[0x8763e18 -> 0x8766be8]: > tracemem[0x8766be8 -> 0x8766b68]: >> DF > a B > 1 1 4 > 2 2 5 > 3 3 6 >> > > Are those 3 copies really taking place? >
tracemem() isn't likely to give false positives. Since you're on Linux, you could check by running under gdb and setting a breakpoint on memtrace_report, which is the function that prints the message. That would show where the duplicates are happening. - thomas -- Thomas Lumley Professor of Biostatistics University of Auckland ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel