Re: [Rd] [R] Suspected memory leak with R v.2.5.x and large matrices with dimnames set

2007-08-20 Thread Peter Waltman
Hi Seth -

Thanks for the follow up.  I'll definitely check out the devel version 
at some point since while I've come up with a workaround, this is 
causing problems for me as it uses up so much memory on some systems 
that R starts throwing malloc errors and has to be killed from the 
command line.  The machine I'm thinking of in particular is a MacOS 
machine with 8 gigs of memory.

Also, having the row and column names set to alphanumeric names causes 
the processing to slow down significantly - as much as by a power of 10 
(or more).

As for you speculation that the memory released by R may not be 
recognized as being free'd by the OS, as a further test, I re-ran my 
code snippet three consecutive times w/in the same R interpreter 
window.  In theory, if there were a memory leak, after the first run 
(resulting in a memory stamp of 2 gig), the subsequent runs would 
further increase R's memory stamp, i.e. up to 4 after the second, and 6 
for the 3rd.

This didn't happen, and R's stamp remained at 2 gig, so I can only 
assume that you're correct and I was wrong about a leak. 

Still, it's quite the memory hog when using dimnames, so I'll have to 
avoid those for now and will try the devel version you mentioned.

Thanks and have a good weekend,

Peter

Seth Falcon wrote:
 Hi Peter,

 Peter Waltman [EMAIL PROTECTED] writes:
   
Admittedly,  this  may  not be the most sophisticated memory profiling
performed,  but  when using unix's top command, I'm noticing a notable
memory leak when using R with a large matrix that has dimnames
set.
 

 I'm not sure I understand what you are reporting.  One thing to keep
 in mind is that how memory released by R is handled is OS dependent
 and one will often observe that after R frees some memory, the OS does
 not report that amount as now free.

 Is what you are observing preventing you from getting things done, or
 just a concern that there is a leak that needs fixing?  It is worth
 noting that the internal handling of character vectors has changed in
 R-devel and so IMO testing there would make sense before persuing this
 further, I suspect your results will be different.

 + seth



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] Suspected memory leak with R v.2.5.x and large matrices with dimnames set

2007-08-18 Thread Seth Falcon
Hi Peter,

Peter Waltman [EMAIL PROTECTED] writes:
Admittedly,  this  may  not be the most sophisticated memory profiling
performed,  but  when using unix's top command, I'm noticing a notable
memory leak when using R with a large matrix that has dimnames
set.

I'm not sure I understand what you are reporting.  One thing to keep
in mind is that how memory released by R is handled is OS dependent
and one will often observe that after R frees some memory, the OS does
not report that amount as now free.

Is what you are observing preventing you from getting things done, or
just a concern that there is a leak that needs fixing?  It is worth
noting that the internal handling of character vectors has changed in
R-devel and so IMO testing there would make sense before persuing this
further, I suspect your results will be different.

+ seth

-- 
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
BioC: http://bioconductor.org/
Blog: http://userprimary.net/user/

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] Suspected memory leak with R v.2.5.x and large matrices with dimnames set

2007-08-18 Thread Luke Tierney
Seth's analysis is correct.  R does return what it can to the malloc
system by calling free.  When and how much memory malloc releases back
to the OS varies with OS and malloc system and also depends on the
sizes of allocations. R curently allocates its memory for small
objects in pages of about 2K.  On Mac OS X if that is increased to
about 16K then much more is returned to the OS. On Linux (Fedora 7 on
i386 at least) the amount would have to be pushed up to around 2M to
make a difference. Increasing page size reduces R's ability to release
pages, so an increase to that level would probably not be a good idea.

Whether or not malloc releases memory back to the OS shouldn't make
much difference to a single R process; it might come into play if you
are trying to run multiple memory-intensive pocesses on the same
machine, though even that may vary among OS/malloc systems.

The changes Seth mentiones are not likely to help in this case. They
are primarily intended to improve performance when there are many
non-unique character vectors; there is additional overhead for many
unique vectors, which we will try to reduce over time.

Best,

luke

On Sat, 18 Aug 2007, Peter Waltman wrote:

 Hi Seth -

 Thanks for the follow up.  I'll definitely check out the devel version
 at some point since while I've come up with a workaround, this is
 causing problems for me as it uses up so much memory on some systems
 that R starts throwing malloc errors and has to be killed from the
 command line.  The machine I'm thinking of in particular is a MacOS
 machine with 8 gigs of memory.

 Also, having the row and column names set to alphanumeric names causes
 the processing to slow down significantly - as much as by a power of 10
 (or more).

 As for you speculation that the memory released by R may not be
 recognized as being free'd by the OS, as a further test, I re-ran my
 code snippet three consecutive times w/in the same R interpreter
 window.  In theory, if there were a memory leak, after the first run
 (resulting in a memory stamp of 2 gig), the subsequent runs would
 further increase R's memory stamp, i.e. up to 4 after the second, and 6
 for the 3rd.

 This didn't happen, and R's stamp remained at 2 gig, so I can only
 assume that you're correct and I was wrong about a leak.

 Still, it's quite the memory hog when using dimnames, so I'll have to
 avoid those for now and will try the devel version you mentioned.

 Thanks and have a good weekend,

 Peter

 Seth Falcon wrote:
 Hi Peter,

 Peter Waltman [EMAIL PROTECTED] writes:

Admittedly,  this  may  not be the most sophisticated memory profiling
performed,  but  when using unix's top command, I'm noticing a notable
memory leak when using R with a large matrix that has dimnames
set.


 I'm not sure I understand what you are reporting.  One thing to keep
 in mind is that how memory released by R is handled is OS dependent
 and one will often observe that after R frees some memory, the OS does
 not report that amount as now free.

 Is what you are observing preventing you from getting things done, or
 just a concern that there is a leak that needs fixing?  It is worth
 noting that the internal handling of character vectors has changed in
 R-devel and so IMO testing there would make sense before persuing this
 further, I suspect your results will be different.

 + seth



 __
 [EMAIL PROTECTED] 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.


-- 
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa  Phone: 319-335-3386
Department of Statistics andFax:   319-335-3017
Actuarial Science
241 Schaeffer Hall  email:  [EMAIL PROTECTED]
Iowa City, IA 52242 WWW:  http://www.stat.uiowa.edu

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel