On 9 Sep, 2013, at 17:43, Mark Shannon <m...@hotpy.org> wrote:

> I would like time to investigate this further, but at the moment I think it 
> will either make attribute lookup poorly defined or slow.
> 
> Of the top of my head, the problem as a I see it is basically this:
> Currently, type.__getattribute__() is a fixed point in the lookup of 
> attributes.
> The proposal means that a fixed point is not reached until the cls parameter 
> of type.__getattribute__() is either object or type,
> otherwise type.__getattribute__() and type.__locallookup__ must bounce back 
> and forth.
> 
> This will slow down *every* attribute lookup for what is a fairly obscure use 
> case.

I did a benchmark run (see the pep for details) and that seems to indicate that 
the performance impact is very small, possibly because the patch keeps the 
attribute lookup cache used by _PyType_Lookup.

Anyway, I'm glad that there is now some real discussion on the proposal. Not 
unsurprisingly I'd love to have this, or something simular, in 3.4.  I had 
hoped to repost the PEP a while back with more information on how the API would 
affect PyObjC (code removal, performance impact), but haven't had time to move 
forward on that front :-(

Ronald


> 
> Cheers,
> Mark.
> 
> On 09/09/13 16:27, Guido van Rossum wrote:
>> Let's just accept this PEP. It looks like a nice addition to the metaclass 
>> machinery and I don't think we'll get much more useful feedback by waiting.
>> 
>> 
>> On Mon, Sep 9, 2013 at 7:30 AM, Ethan Furman <et...@stoneleaf.us 
>> <mailto:et...@stoneleaf.us>> wrote:
>> 
>>    On 07/30/2013 11:17 PM, Ronald Oussoren wrote:
>> 
>> 
>>        And something I forgot to ask: is anyone willing to be the 
>> BDFL-Delegate for
>>        PEP 447?
>> 
>> 
>>    *Bump*.
>> 
>>    It would be nice if this could make into 3.4.
>> 
>>    --
>>    ~Ethan~
>> 
>>    _________________________________________________
>>    Python-Dev mailing list
>>    Python-Dev@python.org <mailto:Python-Dev@python.org>
>>    https://mail.python.org/__mailman/listinfo/python-dev 
>> <https://mail.python.org/mailman/listinfo/python-dev>
>>    Unsubscribe: 
>> https://mail.python.org/__mailman/options/python-dev/__guido%40python.org 
>> <https://mail.python.org/mailman/options/python-dev/guido%40python.org>
>> 
>> 
>> 
>> 
>> --
>> --Guido van Rossum (python.org/~guido <http://python.org/~guido>)
>> 
>> 
>> _______________________________________________
>> Python-Dev mailing list
>> Python-Dev@python.org
>> https://mail.python.org/mailman/listinfo/python-dev
>> Unsubscribe: 
>> https://mail.python.org/mailman/options/python-dev/mark%40hotpy.org
>> 
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> https://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to