[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