sorry for the cross-post from RoR, but I actually think this is more of a ruby question. I got sidetracked while benchmarking ruby factorial code: http://rosettacode.org/wiki/Factorial#Ruby I put all that code into test_fact.rb and ran with: > ruby test_fact.rb > rails runner test_fact.rb #from a fresh rails app > rails runner test_fact.rb #from a mature rails app here are the respective results: user system total real # ruby recursive: 8.660000 0.040000 8.700000 ( 8.888191) iterative: 6.770000 0.030000 6.800000 ( 6.892491) functional: 6.240000 0.030000 6.270000 ( 6.334801) user system total real # rails_f recursive: 10.140000 0.070000 10.210000 ( 10.760008) iterative: 8.750000 0.050000 8.800000 ( 9.050677) functional: 8.200000 0.040000 8.240000 ( 8.477966) user system total real # rails_m recursive: 17.400000 0.170000 17.570000 ( 17.792121) iterative: 15.730000 0.140000 15.870000 ( 16.233311) functional: 15.450000 0.160000 15.610000 ( 16.245557) I profiled it as well and the function calls were identical, just slower. This feels like a ruby issue that rails brings out in spades, I'm wondering if anyone here has some insight as to what's going on. - kevin