From gb at tal.stat.umu.se  Thu Dec 30 19:59:13 2004
From: gb at tal.stat.umu.se (=?iso-8859-1?Q?G=F6ran_Brostr=F6m?=)
Date: Thu Dec 30 19:59:17 2004
Subject: [Rd] optim/vmmin and R_alloc
In-Reply-To: <Pine.A41.4.61b.0412300757350.11816@homer11.u.washington.edu>
References: <20041230155513.GA22178@tal.stat.umu.se>
	<Pine.A41.4.61b.0412300757350.11816@homer11.u.washington.edu>
Message-ID: <20041230185913.GA1735@tal.stat.umu.se>

On Thu, Dec 30, 2004 at 08:01:41AM -0800, 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.  

Not necessarily. If you take a closer look at TFM (as I just did), you find
in Section 5.1.2:

Users should arrange to  Free  this memory when no longer needed, including
on error or user interrupt. This can often be done most conveniently from
an  on.exit  action in the calling  R  function -- see pwilcox for an
example.  

G?ran
-- 
 G?ran Brostr?m                    tel: +46 90 786 5223
 Department of Statistics          fax: +46 90 786 6614
 Ume? University                   http://www.stat.umu.se/egna/gb/
 SE-90187 Ume?, Sweden             e-mail: gb@stat.umu.se


[Rd] optim/vmmin and R_alloc
=?iso-8859-1?Q?G=F6ran_Brostr=F6m?=