On Thu, 22 Oct 2015 17:02:48 -0000, Brett Cannon <brett at python.org> wrote: > On Thu, 22 Oct 2015 at 09:37 Stéphane Wirtel <stephane at wirtel.be> wrote: > > > Hi all, > > > > When we compile a python script > > > > # test.py > > if 0: > > x = 1 > > > > python -mdis test.py > > > > There is no byte code for the condition. > > > > So my question is, the byte code generator removes the unused functions, > > variables etc…, is it right? > > > > Technically the peepholer removes the dead branch, but since the peepholer > is run on all bytecode you can't avoid it. There's an issue (http://bugs.python.org/issue2506) for being able to disable all optimizations (that Ned Batchelder, among others, would really like to see happen :). Raymond rejected it as not being worthwhile. I still agree with Ned and others that there should, just on principle, be a way to disable all optimizations. Most (all?) compilers have such a feature, for debugging reasons if nothing else. We even have a way to spell it in the generated byte code files now (opt-0). But, someone would have to champion it and write a patch proposal. --David
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4