Index: Python/ceval.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Python/ceval.c,v retrieving revision 2.307 diff -u -r2.307 ceval.c --- Python/ceval.c 22 Mar 2002 23:53:16 -0000 2.307 +++ Python/ceval.c 23 Mar 2002 23:33:17 -0000 @@ -1816,6 +1816,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 PyCmp_EQ: x = Py_True; break; + case PyCmp_LE: x = Py_True; break; + case PyCmp_GE: x = Py_True; break; + case PyCmp_NE: x = Py_False; break; + case PyCmp_GT: x = Py_False; break; + case PyCmp_LT: x = Py_False; break; + case PyCmp_IS: x = Py_True; break; + case PyCmp_IS_NOT: x = Py_False; break; + default: goto slow_compare; + } + Py_INCREF(x); + } else { slow_compare: x = cmp_outcome(oparg, v, w);