]> granicus.if.org Git - python/commit
SF patch #670367: Micro-optimizations for ceval.c
authorRaymond Hettinger <python@rcn.com>
Sun, 19 Jan 2003 05:08:13 +0000 (05:08 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 19 Jan 2003 05:08:13 +0000 (05:08 +0000)
commit4bad9ba2827a3cac04b2cffaf0825224b7dc3c55
treebf8052fb2aa2b1d0fe03f13694e83c0894beedab
parent513a1cd103ba2b67ad88dc58a185fc7b514078bd
SF patch #670367: Micro-optimizations for ceval.c

Make the code slightly shorter, faster, and easier to
read.

* Eliminate unused DUP_TOPX code for x==1.
compile.c always generates DUP_TOP instead.

* Since only two cases remain for DUP_TOPX, replace
the switch-case with if-elseif.

* The in-lined integer compare does a CheckExact on
both arguments. Since the second is a little more
likely to fail, test it first.

* The switch-case for IS/IS_NOT and IN/NOT_IN can
separate the regular and inverted cases with no
additional work. For all four paths, saves a test and
jump.
Python/ceval.c