[Rd] optim/vmmin and R_alloc
Prof Brian Ripley
ripley at stats.ox.ac.uk
Thu Dec 30 17:27:59 CET 2004
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
>> 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
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, ripley at 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
More information about the R-devel