[Python-Dev] [ python-Patches-876206 ] scary frame speed hacks (original) (raw)

Jeremy Hylton jeremy at alum.mit.edu
Tue Mar 2 12:22:57 EST 2004


On Tue, 2004-03-02 at 12:17, Bob Ippolito wrote:

Well it's already true to some small extent because of the recursion depth limit. Though, this has only been a problem for me once, and I rewrote it as a large ugly iterative version.

Don't know the particulars, but I thought it worth mentioning that the recursion limit is set fairly conservatively. In many cases, it's possible to boost the recursion limit. I don't know if it's ever practical, because if something goes wrong you get a segfault.

Different kinds of recursive Python calls generated different numbers of C stack frames. So if you have a recursive repr(), it will consume more C stack than a simple Python function.

Python's recursion limit is set to 1000 in 2.3. On my box (RH9) the first crash I get is with a recursion limit of 5800. It blows up on the repr case. For simple recursive functions, I can push it all the way up to 21,500.

Jeremy



More information about the Python-Dev mailing list