Chris Angelico <ros...@gmail.com> writes: > Hmm, then I was misunderstanding what BartC was advocating. I didn't > think it would *fail* in the presence of dynamic attributes, but > merely *perform suboptimally* (and presumably worse than current > CPython).
There isn't a way for the compiler to *know*, in all cases, whether module attributes will be updated during the lifetime of the program (short of, as pointed out elsewhere, running the entire program under all possible conditions). So the optimisation can't be applied by the compiler without risking breaking perfectly valid code. That is enough, IMO, to kill the proposal; if the compiler could break *any* valid code, it's no longer a Python compiler. -- \ “If [a technology company] has confidence in their future | `\ ability to innovate, the importance they place on protecting | _o__) their past innovations really should decline.” —Gary Barnett | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list