[Python-Dev] Expression optimizations

Cesare Di Mauro cesare.dimauro at a-tono.com
Tue Feb 10 17:24:45 CET 2009


In peephole.c I noticed some expression optimizations:

				/* not a is b -->  a is not b
				   not a in b -->  a not in b
				   not a is not b -->  a is b
				   not a not in b -->  a in b
				*/

So, it seems that an operation can be changed to another one which is logically equivalent.

Could it be applyable to other operations as well? So, if I wrote:

  c = not(a < b)

the compiler and/or peephole optimizer can generate bytecodes instructions which, instead, execute the following operation:

  c = a >= b

Is it right?

Thanks a lot
Cesare


More information about the Python-Dev mailing list