On 04/06/2014 01:35, Ista Zahn wrote:
Hi Frank,
I don't think it is possible to state a general rule about which will
be faster. For example this
system.time({
for(i in 1:10000) {
x <- matrix(rnorm(10), ncol = 10)
y <- mean(x)
#rm(x)
z <- matrix(runif(10), ncol = 100)
#rm(z)
}
})
gets a lot slower if I uncomment the "rm()" lines, but this
system.time({
for(i in 1:5) {
x <- matrix(rnorm(10000000), ncol = 10)
y <- mean(x)
rm(x)
z <- matrix(runif(10000000), ncol = 100)
rm(z)
}
})
is slightly faster than it would be without the rm() lines. I think
you'll have to run a smaller version of the simulation both ways and
see which is faster.
Unfortunately, you cannot generalize from smaller examples. One issue
is that rm(x) does not actually remove the object: that is done at the
next garbage collection and the frequency of GCs varies with the object
sizes.
The one place I have encountered benefits is on the benighted 32-bit OS
with a 2GB per-process address space. There fragmentation of the
address space can be a serious issue with tasks using at least a third
of the address space, leading to frequent GCs and slow allocation (as
the allocator searches for a large enough contiguous block).
But then we were not told the 'at a minimum' information requested by
the posting guide.
Best,
Ista
On Tue, Jun 3, 2014 at 10:05 AM, Frank van Berkum
<frankieboy...@hotmail.com> wrote:
Dear R-users,
I'm working on a project in which many simulations have to be performed within
functions. The simulations are quite time consuming. I thought that in general
an empty memory is better for speed performance than a full memory.
If I call a function which performs simulations within the function, than the
memory will temporarily increase (while the function is executed and objects
are created within the function), but as soon as the function is finished,
temporarily objects are flushed. It seems as if it might be beneficial for
speed performance to clear objects from the memory within the function if they
are no longer needed in the remainder of the function. Does anyone know whether
this is actually the case?
Thanks in advance!
Frank
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
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.