[Python-Dev] Store x Load x --> DupStore
raymond.hettinger at verizon.net
Sun Feb 20 16:39:24 CET 2005
Any objections to new peephole transformation that merges a store/load
pair into a single step?
There is a tested patch at: www.python.org/sf/1144842
It folds the two steps into a new opcode. In the case of
store_name/load_name, it saves one three byte instruction, a trip around
the eval-loop, two stack mutations, a incref/decref pair, a dictionary
lookup, and an error check (for the lookup). While it acts like a dup
followed by a store, it is implemented more simply as a store that
doesn't pop the stack. The transformation is broadly applicable and
occurs thousands of times in the standard library and test suite.
More information about the Python-Dev