GIL in alternative implementations

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Jun 7 00:03:55 EDT 2011


En Sat, 28 May 2011 14:05:16 -0300, Steven D'Aprano  
<steve+comp.lang.python at pearwood.info> escribió:

> On Sat, 28 May 2011 09:39:08 -0700, John Nagle wrote:
>
>> Python allows patching code while the code is executing.
>
> Can you give an example of what you mean by this?
>
> If I have a function:
>
>
> def f(a, b):
>     c = a + b
>     d = c*3
>     return "hello world"*d
>
>
> how would I patch this function while it is executing?

I think John Nagle was thinking about rebinding names:


def f(self, a, b):
   while b>0:
     b = g(b)
     c = a + b
     d = self.h(c*3)
   return "hello world"*d

both g and self.h may change its meaning from one iteration to the next,  
so a complete name lookup is required at each iteration. This is very  
useful sometimes, but affects performance a lot.

-- 
Gabriel Genellina




More information about the Python-list mailing list