[R] programming advice?

Thomas Lumley tlumley at u.washington.edu
Fri Apr 21 16:57:18 CEST 2006


On Fri, 21 Apr 2006, Charles Annis, P.E. wrote:

> Dear R-helpers:
>
> I am doing some exploratory programming and am considering a routine that
> has several other routines defined within it, so that I can avoid a large
> and messy global re-programming to avoid naming conflicts.
>
> My question is this:  Because it is interpreted, does R have to re-build
> these internal routines every time the new routine is called?  I'm not
> overly worried right now about speed, but since my test cases currently run
> for several minutes (which is a long time to me) I don't want to learn a
> lesson the hard way that you, kind readers, might help me avoid.

Yes and no.  The code will be parsed once, but the functions will be 
created each time the routine is called.  This results in some extra 
memory turnover, but is almost certainly not significant in the grand 
scheme of things.

Another approach to avoiding name conflicts is to put your code in a 
package with a namespace and export only the functions you want to be 
visible externally.

You might want to run your code under the profiler (?Rprof) to find out 
where it is really spending all its time.

 	-thomas

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle




More information about the R-help mailing list