On Thu, 30 Dec 2004, Thomas Lumley wrote:

On Thu, 30 Dec 2004, [iso-8859-1] Göran Broström wrote:

However, and that is my question/suggestion: Why not use Calloc+Free
instead of R_alloc in vmmin (and maybe in other places)? I made the
changes in 'optim.c' in the functions 'vmmin' and 'Lmatrix'. Then I rebuilt
and reinstalled R-2.0.1. The result was great! My function ran very fast and
without any memory problems.


So why not? Or will this change create other problems?

Memory will leak permanently if the functions are interrupted or an error occurs. This may be less serious now than it was in the past, since R can be interrupted in fewer places.

An error in the objective function would also cause a leak. Goran *should* be managing the heap himself by vmax[gs]et, as discussed in Writing R Extensions.


So why not read the manual and use the documented mechanism? I do
often wonder if the developers spend more time writing these manuals than the users collectively spend reading them.


To answer the follow-up, some code can be demonstrated not to leak as it cannot be interrupted, and some wants memory preserved across .C calls.

--
Brian D. Ripley,                  [EMAIL PROTECTED]
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-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to