Hi Thorsten, > since I just wrote a little Wiki article about recursion in PicoLisp, I > would be curious about how recursion performs in comparison to iteration > in PicoLisp.
OK, let's try. If I run this: # Recursive (bench (do 1000000 (let (N 100) (recur (N) (if (=0 N) 1 (* N (recurse (dec N))) ) ) ) ) ) # Iterative (bench (do 1000000 (let N 1 (for I 100 (setq N (* I N)) ) N ) ) ) # Simple (bench (do 1000000 (apply * (range 1 100)) ) ) then I get: 13.161 sec 7.331 sec 7.413 sec -> 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000 So the recursive version takes about twice as long as the other two. > The notion of 'tail-recursion' does not have any meaning in an > interpreted language like PicoLisp, since its only for compiler > optimizations -right? Yes. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe