I modified bengt's code to do each run in a new process. The absolute times I got are of interest only on my machine, but the relative times for N=10000 may be of interest: Recursion: 1.4 RevRecursion: 2.9 MapFun: 2.2 ListCompr: 1.0 These are pretty much what you might expect.