On Fri, Mar 27, 2020 at 4:01 PM Hervé Pagès <hpa...@fredhutch.org> wrote:
> > > On 3/27/20 12:00, Hadley Wickham wrote: > > > > > > On Fri, Mar 27, 2020 at 10:39 AM Hervé Pagès <hpa...@fredhutch.org > > <mailto:hpa...@fredhutch.org>> wrote: > > > > Hi Tomas, > > > > On 3/27/20 07:01, Tomas Kalibera wrote: > > > they provide an over-approximation > > > > They can also provide an "under-approximation" (to say the least) > e.g. > > on reference objects where the entire substance of the object is > > ignored > > which makes object.size() completely meaningless in that case: > > > > setRefClass("A", fields=c(stuff="ANY")) > > object.size(new("A", stuff=raw(0))) # 680 bytes > > object.size(new("A", stuff=runif(1e8))) # 680 bytes > > > > Why wouldn't object.size() look at the content of environments? > > > > > > As the author, I'm obviously biased, but I do like lobstr::obj_sizes() > > which allows you to see the additional size occupied by one object given > > any number of other objects. This is particularly important for > > reference classes since individual objects appear quite large: > > > > A <- setRefClass("A", fields=c(stuff="ANY")) > > lobstr::obj_size(new("A", stuff=raw(0))) > > #> 567,056 B > > > > But the vast majority is shared across all instances of that class: > > > > lobstr::obj_size(A) > > #> 719,232 B > > lobstr::obj_sizes(A, new("A", stuff=raw(0))) > > #> * 719,232 B > > #> * 720 B > > lobstr::obj_sizes(A, new("A", stuff=runif(1e8))) > > #> * 719,232 B > > #> * 800,000,720 B > > Nice. Can you clarify the situation with lobstr::obj_size vs > pryr::object_size? I've heard of the latter before and use it sometimes > but never heard of the former before seeing Stefan's post. Then I > checked the authors of both and thought maybe they should talk to each > other ;-) > pryr is basically retired :) TBH I don't know why I gave up on it, except lobstr is a cooler name 🤣 That's where all active development is happening. (The underlying code is substantially similar although lobstr includes bug fixes not present in pryr) Hadley -- http://hadley.nz [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel