The peephole optimizer now takes things like if 0: do_stuff()
and optimizes them away, and optimizes away the conditional in "if 1:". What if I had a function like this? def func(debug=False): for index in xrange(1000000): if debug: print index do_stuff(index) Could the "if debug" be optimized away on function invocation if debug is immutable and never reassigned in the function? When performance really matters in some inner loop, I usually move the conditional outside like this: def func(debug=False): if debug: for index in xrange(1000000): print index do_stuff(index) else: for index in xrange(1000000): do_stuff(index) It would be nice if this sort of thing could be done automatically, either by the interpreter or a function decorator. -- Michael Hoffman -- http://mail.python.org/mailman/listinfo/python-list