On 4/2/06, Prof Brian Ripley <[EMAIL PROTECTED]> wrote: > On Sun, 2 Apr 2006, Federico Calboli wrote: > > > is there any general advice about speeding up recursive functions > > (not mentioning 'don't use them')? > > Well, that's very general (did you mean recursive functions in R or C or > what?). Recursion is not particularly slow in R, and you are limited to a > depth of a most a few thousand. E.g.: > > > f <- function(x) if(x > 0) f(x-1) > > system.time(for(i in 1:100) f(2000)) > [1] 0.59 0.00 0.60 NA NA > > which is 3 usec per call. > > One piece of advice is to keep memory usage down, as in many of the > examples I have looked at the speed issue was actually a memory issue, > with datasets being copied at each level.
Some functional languages have a feature called tail recursion that can provide performance improvements if you write your recursions to take advantage of it: http://en.wikipedia.org/wiki/Tail_recursion but I don't think R supports it. Is this likely to become available in R? ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html