[Python-Dev] Re: opcode performance measurements

Jeremy Hylton jeremy@alum.mit.edu
2002年1月31日 05:14:28 -0500


>>>>> "SM" == Skip Montanaro <skip@pobox.com> writes:

 SM> Interesting results. I've been working on my
 SM> {TRACK,UNTRACK}_GLOBAL opcode implementations. I have an
 SM> optimizer filter that sets up tracking for all
 SM> LOAD_GLOBAL,{LOAD_ATTR}* combinations. It's still not quite
 SM> working and will only be a proof of concept by devday if I do
 SM> get it working, but I expect most of these expensive opcode
 SM> combinations to collapse into a LOAD_FAST, with the addition of
 SM> a TRACK_GLOBAL/UNTRACK_GLOBAL pair executed at function start
 SM> and end, respectively.
I won't have any implementation done at all, but should have finished
the design for LOAD_FAST-style access to globals and module
attributes. I also have some ideas about Python bytecode specializer
that would work essentially like a JIT but generated specialized
bytecode instead of machine code.
Jeremy
PS Skip-- Sorry the PEP isn't clear, but the only dictionary lookups
that need to occur are at function creation time. MAKE_FUNCTION would
need to lookup the offsets of the globals used by the functions, so
that a LOAD_FAST_GLOBAL opcode would take an int argument.

AltStyle によって変換されたページ (->オリジナル) /