Binary files CVS-Python/ and Dev-Python/ differ Binary files CVS-Python/ and Dev-Python/ differ Binary files CVS-Python/ and Dev-Python/ differ diff -u -rbP -x *.o -x *.pyc -x Makefile -x *~ -x *.so -x add2lib -x pgen -x buildno -x core -x config.* -x pyconfig.* -x libpython* -x python -x Setup -x Setup.local -x Setup.thread -x Setup.config -x hassignal -x Makefile.pre -x configure -x *.bak -x *.s -x DEADJOE -x *.rej -x *.orig -x Demo -x CVS -x Doc -x *.orig -x *.pyc -x *.pyo -x .#* -x */plat* -x Grammar -x *.html -x setup.cfg* -x .cvsignore -x BeOS -x build -x platform -x Makefile.in -x *.py -x ACKS -x *.txt -x README -x NEWS CVS-Python/Python/ceval.c Dev-Python/Python/ceval.c --- CVS-Python/Python/ceval.c Fri Oct 19 10:15:30 2001 +++ Dev-Python/Python/ceval.c Wed Nov 7 13:41:00 2001 @@ -1778,6 +1778,21 @@ x = res ? Py_True : Py_False; Py_INCREF(x); } + else if (v == w && PyString_CheckExact(v)) { + /* Fast-path for comparing interned strings */ + switch (oparg) { + case EQ: x = Py_True; break; + case LE: x = Py_True; break; + case GE: x = Py_True; break; + case NE: x = Py_False; break; + case GT: x = Py_False; break; + case LT: x = Py_False; break; + case IS: x = Py_True; break; + case IS_NOT: x = Py_False; break; + default: goto slow_compare; + } + Py_INCREF(x); + } else { slow_compare: x = cmp_outcome(oparg, v, w); Binary files CVS-Python/ and Dev-Python/ differ Binary files CVS-Python/ and Dev-Python/ differ Binary files CVS-Python/ and Dev-Python/ differ