[Rd] making object.size() more meaningful on environments?
Hervé Pagès
hpages at fredhutch.org
Wed Sep 30 00:18:47 CEST 2015
Hi Gabe,
On 09/29/2015 02:51 PM, Gabriel Becker wrote:
> Herve,
>
> The problem then would be that for A a refClass whose fields take up N
> bytes (in the sense that you mean), if we do
>
> B <- A
>
> A and B would look like the BOTH take up N bytes, for a total of 2N,
> whereas AFAIK R would only be using ~ N + 2*56 bytes, right?
Yes, but that's still a *much* better situation than the current one in
my opinion. More generally speaking counting shared memory for each
object (or process) that uses it is a common, sensible, and accepted
approach. No need to look far: a character vector is just a collection
of pointers to stuff that is shared thru the global CHARSXP cache and
AFAIK object.size() takes this stuff into account.
H.
>
> ~G
>
>
>
> On Tue, Sep 29, 2015 at 2:42 PM, Hervé Pagès <hpages at fredhutch.org
> <mailto:hpages at fredhutch.org>> wrote:
>
> Hi,
>
> Currently object.size() is not very useful on environments as it always
> returns 56 bytes, no matter how big the environment is:
>
> env1 <- new.env()
> object.size(env1) # 56 bytes
>
> env2 <- new.env(hash=TRUE, size=75000000L)
> object.size(env2) # 56 bytes
>
> env3 <- list2env(list(a=runif(25000000), L=LETTERS))
> object.size(env3) # 56 bytes
>
> This makes it pretty useless on reference class instances and other
> objects that use environments internally for caching or other purposes.
>
> What about changing this and make it return something more meaningful?
>
> Cheers,
> H.
>
> --
> Hervé Pagès
>
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M1-B514
> P.O. Box 19024
> Seattle, WA 98109-1024
>
> E-mail: hpages at fredhutch.org <mailto:hpages at fredhutch.org>
> Phone: (206) 667-5791 <tel:%28206%29%20667-5791>
> Fax: (206) 667-1319 <tel:%28206%29%20667-1319>
>
> ______________________________________________
> R-devel at r-project.org <mailto:R-devel at r-project.org> mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
>
>
> --
> Gabriel Becker, PhD
> Computational Biologist
> Bioinformatics and Computational Biology
> Genentech, Inc.
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fredhutch.org
Phone: (206) 667-5791
Fax: (206) 667-1319
More information about the R-devel
mailing list