Dear Martin, thank you for your hints. They were very helpful. Maybe memory.size() is a more reasonable measure of memory consumption? Here's a rough comparison of 10.000 instances of a reference class, an S3 class and a simple vector:
Reference Class: 14MB S3 class: 1,76MB Vector: 0.08MB So classes add some overhead but probably not as much as a simple saveRDS(..., compress=F) suggests. Which means that my memory problem is probably not related to Reference Classes. I have not THAT many instances. Best Jan The code I used to determine memory size: # start new R session, empty workspace untouched=memory.size(); MySmallClass = setRefClass("MySmallClass", fields = list( myField = "numeric" ), methods = list( initialize = function(f) { myField<<- f; }) ); o = lapply(rnorm(10000), MySmallClass$new) withobj=memory.size() print(paste("Initial Mem:", untouched, "With objects:", withobj, "Difference:", round(withobj-untouched, 2))); # Output: [1] "Initial Mem: 14 With objects: 28 Difference: 14" # 35.988K process size in Windows Task Manager # start new R session, empty workspace untouched=memory.size(); agent <- function(myField) { env = new.env(parent=emptyenv()) env[["myField"]] = myField lockBinding("myField", env) ## 'private' data? class(env) = "agent" env } agents = lapply(rnorm(10000), agent) withobj=memory.size() print(paste("Initial Mem:", untouched, "With objects:", withobj, "Difference:", round(withobj-untouched, 2))); # [1] "Initial Mem: 14.05 With objects: 15.81 Difference: 1.76" # 22.336K process size in Windows Task Manager # start new R session, empty workspace untouched=memory.size(); arr=rnorm(10000); withobj=memory.size() print(paste("Initial Mem:", untouched, "With objects:", withobj, "Difference:", round(withobj-untouched, 2))); # [1] "Initial Mem: 14.05 With objects: 14.13 Difference: 0.08" # 20.780K process size in Windows Task Manager ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.