[Python-Dev] Expression optimizations (original) (raw)

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