FAQ
Hello All,

I posted this earlier on R-help but received no answers. This touches the implementation of reference classes so maybe R-devel is a better place.
The memory consumption of reference classes seems to increase dramatically (roughly 10x in the example below) with serialization/unserialization.
S4 - classes are apparently not affected.
Any ideas how this could be solved or at least circumvented?

Best
Jan

# start new R session, empty workspace

gc();
MySmallClass = setRefClass("MySmallClass",
fields = list(
myField = "numeric"
),
methods = list(
initialize = function(f) {
myField<<- f;
})
);

# Generate 10K instances
o = lapply(rnorm(10000), MySmallClass$new)

gc()
s=serialize(o, connection=NULL)
gc();
p=unserialize(s);
gc();


Output:
1st gc():
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 170895 4.6 350000 9.4 350000 9.4
Vcells 162042 1.3 905753 7.0 786155 6.0

2nd gc():
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 720320 19.3 984024 26.3 899071 24.1
Vcells 588993 4.5 1162592 8.9 786155 6.0

3rd gc():
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 720472 19.3 1166886 31.2 899071 24.1
Vcells 9941697 75.9 11298137 86.2 9941716 75.9

4th gc():
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 6980212 186.4 7700734 205.7 6981388 186.5
Vcells 11744776 89.7 17456418 133.2 11754663 89.7

# Platform info:
# R version 2.15.1
# Platform: i386-pc-mingw32/i386 (32-bit)
# Binary package from CRAN
# Windows 7 32 Bit
# (I observed a similar behavior on Linux 64 Bit, same R version)

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupr-devel @
categoriesr
postedSep 4, '12 at 7:56a
activeSep 4, '12 at 7:56a
posts1
users1
websiter-project.org
irc#r

1 user in discussion

Jan Mueller: 1 post

People

Translate

site design / logo © 2022 Grokbase