[Python-Dev] [ python-Patches-876206 ] scary frame speed hacks

Jeremy Hylton jeremy at alum.mit.edu
Tue Mar 2 12:08:33 EST 2004


On Tue, 2004-03-02 at 11:42, Raymond Hettinger wrote:
> The patch eliminates the freelist in favor of keeping a single
> pre-made frame for each code block.  In addition to saving 
> a call to malloc(), the advantage is that the pre-made frame
> is custom to the code block and only half of fields need to
> be updated each time the code block is called.  
> 
> This is a nice net win for normal code blocks.  However, recursive
> functions use up their one pre-made frame on the first level of
> recursion.  On subsequent calls, they have to call malloc() resulting
> in a net slowdown.

Would this effect also obtain in a multi-threaded program if two
different threads called the same function concurrently?

Jeremy





More information about the Python-Dev mailing list