News for hackers. Stuff that matters.
Re:Node.js cures cancer by ricardobeat on Monday October 03, 2011 @03:12AM (#3065374)
Yes. Turns out that the recursion overhead in python is huge, it can get down to <100ms too with a non-recursive function.
Re:Node.js cures cancer by piccadilly on Monday October 03, 2011 @05:30AM (#3065604)
I have no idea whether that is true and I'm not arguing with it.

Why are you writing web request handlers containing heavily recursive code, and why do you seem to think that indicates anything meaningful about Python?

Please tell me you are not also using SimpleHTTPServer to try to prove points about Python's performance (like http://joshuakehn.com/2011/10/3/Diagnosis-No-Cancer.html and http://blog.brianbeck.com/post/node-js-cures-cancer)

Re:Node.js cures cancer by ricardobeat on Monday October 03, 2011 @05:34AM (#3065616)
I wasn't. I was just curious about the huge difference in performance. These numbers are from printing to console, no servers.

    def fibonacci(n):
        t = [0, 1]
        for i in xrange(n):
            t.append(t[-1] + t[-2])
        return t[-2]
    
    print fibonacci(800)
Re:Node.js cures cancer by th_yc on Tuesday October 04, 2011 @06:53PM (#3073316)
Technically the above is a dynamic programming algorithm, in that you are avoiding the recomputation of fib(1..n-1) in each step. That is equivalent to recursion+memoization, which would perform roughly similar to the above. So it is not that "recursion" is so dramatically slower than "iteration" in general, it's just that for these kinds of computations, recursion should be memoized.