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... Reinhold -- Mail address is perfectly valid!
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
participants (2)
-
Brett C.
-
Reinhold Birkenfeld