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 <[email protected]>
<http://bugs.python.org/issue1346238>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com