[Python-Dev] What about CALL_ATTR?

Brett C. bac at OCF.Berkeley.EDU
Wed Feb 23 20:58:54 CET 2005


Reinhold Birkenfeld wrote:
> While rummaging in the old patches, I found this:
> 
> """
> The result of the PyCore sprint of me and Brett: the CALL_ATTR opcode
> (LOAD_ATTR and CALL_FUNCTION combined) that skips the PyMethod creation
> and destruction for classic classes (but not newstyle classes, yet.)
> 
> The code is somewhat rough yet, it needs commenting, some renaming, and
> most importantly testing. It seems to work, however, and provides
> between a 35% and 5% speedup. (5% in 'average' code, up to 35% in
> instance method calls and instance creation alone.) It also needs to be
> updated to include newstyle classes. I will likely work on this on the
> flight home.
> """
> 
> (patch #709744)
> 
> How is the status of this? Sounds promising, I'd say...
> 

See my reply in the "Store x Load x -->  DupStore" thread at 
http://mail.python.org/pipermail/python-dev/2005-February/051725.html .

Basically Thomas discovered that it was slower when used with new-style 
classes.  But this was almost two years ago with Thomas having not done hacking 
on the core for two years IIRC and me having practically zero experience.

-Brett


More information about the Python-Dev mailing list