2010/12/28 Lukas Lueg <lukas.l...@googlemail.com>: > Consider the following code: > > def foobar(x): > for i in range(5): > x[i] = i > > The bytecode in python 2.7 is the following: > > 2 0 SETUP_LOOP 30 (to 33) > 3 LOAD_GLOBAL 0 (range) > 6 LOAD_CONST 1 (5) > 9 CALL_FUNCTION 1 > 12 GET_ITER > >> 13 FOR_ITER 16 (to 32) > 16 STORE_FAST 1 (i) > > 3 19 LOAD_FAST 1 (i) > 22 LOAD_FAST 0 (x) > 25 LOAD_FAST 1 (i) > 28 STORE_SUBSCR > 29 JUMP_ABSOLUTE 13 > >> 32 POP_BLOCK > >> 33 LOAD_CONST 0 (None) > 36 RETURN_VALUE > > Can't we optimize the LOAD_FAST in lines 19 and 25 to a single load > and put the reference twice on the stack?
Yes. Would it be useful? Unlikely. -- Regards, Benjamin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com