
April 6, 2009
2:43 p.m.
Cesare Di Mauro <cesare.dimauro <at> a-tono.com> writes:
def f(): return ['a', ('b', 'c')] * (1 + 2 * 3) [...]
With proper constant folding code, both functions can be reduced to a single LOAD_CONST and a RETURN_VALUE (or, definitely, by a single instruction at all with an advanced peephole optimizer).
Lists are mutable, you can't optimize the creation of list literals by storing them as singleton constants. Regards Antoine.