Sure, you discuss memoization and iteration, but nobody's talking about parallelization. Some recursive funcs, especially divide-and-conquer algos, parallelize beautifully. Slap some OpenMP on that and watch it fly on multicore processors. It's not always straight-forward, and it sure ain't perfect, but man, when it works, it's like hitting turbo on …