Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny app which allows the user to store his/her state which internally obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg", "genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by this command became several hundred MBs big... even thought the cumulative size of all objects in memory after load() is in the 10s of kB.
Changing to
dump(list=c("plots","gates","populations","cg", "genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
Save creates huge files, dump doesn't
7 messages · Doran, Harold, Jeff Newmiller, Lars Velten +1 more
Lars
Typically answers regarding shiny are not answered here (I do wish there was a SIG, however). With that said, are you saying that the object size is increasing for objects that previously were much smaller? Or, are other things now being saved into the workspace that were not there previously?
In other words, suppose you have some object called tmp. If you do object.size(tmp) on your older version and on the newer version are they the same size? Are the objects of the same class?
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of Lars Velten
Sent: Monday, February 18, 2019 2:51 PM
To: r-help at r-project.org
Subject: [R] Save creates huge files, dump doesn't
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny app which allows the user to store his/her state which internally obviously triggers as call to save as follows save(list=c("plots","gates","populations","cg", "genelists","colorscores", "proj", "actds"),file=fname) this was all working fine until some time ago (?!?) files created by this command became several hundred MBs big... even thought the cumulative size of all objects in memory after load() is in the 10s of kB.
Changing to
dump(list=c("plots","gates","populations","cg", "genelists","colorscores", "proj", "actds"),file=fname) solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
______________________________________________
R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Make a reproducible example that focuses on the save/load aspect of the size problem. You may need to experiment with which variables need to be in the save file in order to trigger the behavior. Your example might have to involve sending us a link to a large file, but that size may dissuade busy experts from tackling it so paring it down by experimentation could be in your best interest. There is some expected behavior that can lead to larger files than the original in-memory data, but offhand I am unaware of any explanation for those files then using less space when re-loaded into memory than they occupy on disk.
On February 18, 2019 11:51:11 AM PST, Lars Velten <lars.velten at embl.de> wrote:
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny
app which allows the user to store his/her state which internally
obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by
this command became several hundred MBs big... even thought the
cumulative size of all objects in memory after load() is in the 10s of
kB.
Changing to
dump(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Sent from my phone. Please excuse my brevity.
One reason save() makes bigger files than dump() is that save() saves environments associated with functions that are saved and those environments may contain large datasets that are not really needed. Bill Dunlap TIBCO Software wdunlap tibco.com On Tue, Feb 19, 2019 at 11:59 AM Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:
Make a reproducible example that focuses on the save/load aspect of the size problem. You may need to experiment with which variables need to be in the save file in order to trigger the behavior. Your example might have to involve sending us a link to a large file, but that size may dissuade busy experts from tackling it so paring it down by experimentation could be in your best interest. There is some expected behavior that can lead to larger files than the original in-memory data, but offhand I am unaware of any explanation for those files then using less space when re-loaded into memory than they occupy on disk. On February 18, 2019 11:51:11 AM PST, Lars Velten <lars.velten at embl.de> wrote:
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny
app which allows the user to store his/her state which internally
obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by
this command became several hundred MBs big... even thought the
cumulative size of all objects in memory after load() is in the 10s of
kB.
Changing to
dump(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
-- Sent from my phone. Please excuse my brevity.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Dear Bill, dear all, yes that seems to be it. The problem orginates from objects of class transformMap from package flowCore
object_size(object at transforms@transforms$PC1.all at f)
174 MB
object.size(object at transforms@transforms$PC1.all at f)
1160 bytes object at transforms@transforms$PC1.all at f function(x) x <environment: 0x3314db8> Do you know how to 'see' what's in 0x3314db8 ? Might then drop a line to flowCore's developer, this behavior cannot be intended - especially here where f literally is just identity :-) Best wishes, Lars
On 19. Feb 2019, at 21:30, William Dunlap <wdunlap at tibco.com> wrote: One reason save() makes bigger files than dump() is that save() saves environments associated with functions that are saved and those environments may contain large datasets that are not really needed. Bill Dunlap TIBCO Software wdunlap tibco.com <http://tibco.com/> On Tue, Feb 19, 2019 at 11:59 AM Jeff Newmiller <jdnewmil at dcn.davis.ca.us <mailto:jdnewmil at dcn.davis.ca.us>> wrote: Make a reproducible example that focuses on the save/load aspect of the size problem. You may need to experiment with which variables need to be in the save file in order to trigger the behavior. Your example might have to involve sending us a link to a large file, but that size may dissuade busy experts from tackling it so paring it down by experimentation could be in your best interest. There is some expected behavior that can lead to larger files than the original in-memory data, but offhand I am unaware of any explanation for those files then using less space when re-loaded into memory than they occupy on disk. On February 18, 2019 11:51:11 AM PST, Lars Velten <lars.velten at embl.de <mailto:lars.velten at embl.de>> wrote:
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny
app which allows the user to store his/her state which internally
obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by
this command became several hundred MBs big... even thought the
cumulative size of all objects in memory after load() is in the 10s of
kB.
Changing to
dump(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org <mailto:R-help at r-project.org> mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
-- Sent from my phone. Please excuse my brevity.
______________________________________________ R-help at r-project.org <mailto:R-help at r-project.org> mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help <https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html <http://www.r-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
object at transforms@transforms$PC1.all at f function(x) x <environment: 0x3314db8> Do you know how to 'see' what's in 0x3314db8 ? ls.str(all=TRUE, environment(object at transforms@transforms$PC1.all at f) will list the names, types, summaries, etc. of the objects in that environment. Bill Dunlap TIBCO Software wdunlap tibco.com
On Wed, Feb 20, 2019 at 12:20 AM Lars Velten <lars.velten at embl.de> wrote:
Dear Bill, dear all, yes that seems to be it. The problem orginates from objects of class
transformMap from package flowCore
object_size(object at transforms@transforms$PC1.all at f)
174 MB
object.size(object at transforms@transforms$PC1.all at f)
1160 bytes object at transforms@transforms$PC1.all at f function(x) x <environment: 0x3314db8> Do you know how to 'see' what's in 0x3314db8 ? Might then drop a line to
flowCore's developer, this behavior cannot be intended - especially here where f literally is just identity :-)
Best wishes, Lars On 19. Feb 2019, at 21:30, William Dunlap <wdunlap at tibco.com> wrote: One reason save() makes bigger files than dump() is that save() saves
environments associated with functions that are saved and those environments may contain large datasets that are not really needed.
Bill Dunlap TIBCO Software wdunlap tibco.com On Tue, Feb 19, 2019 at 11:59 AM Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:
Make a reproducible example that focuses on the save/load aspect of the
size problem. You may need to experiment with which variables need to be in the save file in order to trigger the behavior. Your example might have to involve sending us a link to a large file, but that size may dissuade busy experts from tackling it so paring it down by experimentation could be in your best interest.
There is some expected behavior that can lead to larger files than the
original in-memory data, but offhand I am unaware of any explanation for those files then using less space when re-loaded into memory than they occupy on disk.
On February 18, 2019 11:51:11 AM PST, Lars Velten <lars.velten at embl.de>
wrote:
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny
app which allows the user to store his/her state which internally
obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by
this command became several hundred MBs big... even thought the
cumulative size of all objects in memory after load() is in the 10s of
kB.
Changing to
dump(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
-- Sent from my phone. Please excuse my brevity.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
Also, note that the function function(x) x <environment: 0x3314db8> has no free variables so it doesn't matter what environment encloses it. Bill Dunlap TIBCO Software wdunlap tibco.com
On Wed, Feb 20, 2019 at 7:47 AM William Dunlap <wdunlap at tibco.com> wrote:
object at transforms@transforms$PC1.all at f function(x) x <environment: 0x3314db8> Do you know how to 'see' what's in 0x3314db8 ? ls.str(all=TRUE, environment(object at transforms@transforms$PC1.all at f) will list the names, types, summaries, etc. of the objects in that environment. Bill Dunlap TIBCO Software wdunlap tibco.com On Wed, Feb 20, 2019 at 12:20 AM Lars Velten <lars.velten at embl.de> wrote:
Dear Bill, dear all, yes that seems to be it. The problem orginates from objects of class
transformMap from package flowCore
object_size(object at transforms@transforms$PC1.all at f)
174 MB
object.size(object at transforms@transforms$PC1.all at f)
1160 bytes object at transforms@transforms$PC1.all at f function(x) x <environment: 0x3314db8> Do you know how to 'see' what's in 0x3314db8 ? Might then drop a line to
flowCore's developer, this behavior cannot be intended - especially here where f literally is just identity :-)
Best wishes, Lars On 19. Feb 2019, at 21:30, William Dunlap <wdunlap at tibco.com> wrote: One reason save() makes bigger files than dump() is that save() saves
environments associated with functions that are saved and those environments may contain large datasets that are not really needed.
Bill Dunlap TIBCO Software wdunlap tibco.com On Tue, Feb 19, 2019 at 11:59 AM Jeff Newmiller <
jdnewmil at dcn.davis.ca.us> wrote:
Make a reproducible example that focuses on the save/load aspect of the
size problem. You may need to experiment with which variables need to be in the save file in order to trigger the behavior. Your example might have to involve sending us a link to a large file, but that size may dissuade busy experts from tackling it so paring it down by experimentation could be in your best interest.
There is some expected behavior that can lead to larger files than the
original in-memory data, but offhand I am unaware of any explanation for those files then using less space when re-loaded into memory than they occupy on disk.
On February 18, 2019 11:51:11 AM PST, Lars Velten <lars.velten at embl.de>
wrote:
Dear list,
I noticed an extremely odd behavior... I have a rather complex shiny
app which allows the user to store his/her state which internally
obviously triggers as call to save as follows
save(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
this was all working fine until some time ago (?!?) files created by
this command became several hundred MBs big... even thought the
cumulative size of all objects in memory after load() is in the 10s of
kB.
Changing to
dump(list=c("plots","gates","populations","cg",
"genelists","colorscores", "proj", "actds"),file=fname)
solved the problem, output was then only 10s of kB.
(Why/when) is this behavior intended?
Best wishes,
Lars
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.
-- Sent from my phone. Please excuse my brevity.
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.