Paul Sokolovsky added the comment: 8 years after the original patch, there's still no trivial constant folding in bytecode generated (because peephole of course is not a real optimizer to consistently catch all cases):
$ cat const.py FOO = 1 BAR = FOO + 2 + 4 $ python --version Python 2.7.3 $ python -OO -m dis const.py 1 0 LOAD_CONST 0 (1) 3 STORE_NAME 0 (FOO) 2 6 LOAD_NAME 0 (FOO) 9 LOAD_CONST 1 (2) 12 BINARY_ADD 13 LOAD_CONST 2 (4) 16 BINARY_ADD 17 STORE_NAME 1 (BAR) 20 LOAD_CONST 3 (None) 23 RETURN_VALUE $ python3.3 --version Python 3.3.3 $ python3.3 -OO -m dis const.py 1 0 LOAD_CONST 0 (1) 3 STORE_NAME 0 (FOO) 2 6 LOAD_NAME 0 (FOO) 9 LOAD_CONST 1 (2) 12 BINARY_ADD 13 LOAD_CONST 2 (4) 16 BINARY_ADD 17 STORE_NAME 1 (BAR) 20 LOAD_CONST 3 (None) 23 RETURN_VALUE ---------- nosy: +pfalcon _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue1346238> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com