cpython/Objects
Tim Peters 4fa58bfac2 Restore dicts' tp_compare slot, and change dict_richcompare to say it
doesn't know how to do LE, LT, GE, GT.  dict_richcompare can't do the
latter any faster than dict_compare can.  More importantly, for
cmp(dict1, dict2), Python *first* tries rich compares with EQ, LT, and
GT one at a time, even if the tp_compare slot is defined, and
dict_richcompare called dict_compare for the latter two because
it couldn't do them itself.  The result was a lot of wasted calls to
dict_compare.  Now dict_richcompare gives up at once the times Python
calls it with LT and GT from try_rich_to_3way_compare(), and dict_compare
is called only once (when Python gets around to trying the tp_compare
slot).
Continued mystery:  despite that this cut the number of calls to
dict_compare approximately in half in test_mutants.py, the latter still
runs amazingly slowly.  Running under the debugger doesn't show excessive
activity in the dict comparison code anymore, so I'm guessing the culprit
is somewhere else -- but where?  Perhaps in the element (key/value)
comparison code?  We clearly spend a lot of time figuring out how to
compare things.
2001-05-10 21:45:19 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c Reimplement PySequence_Contains() and instance_contains(), so they work 2001-05-05 21:05:01 +00:00
bufferobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
cellobject.c Variety of small INC/DECREF patches that fix reported memory leaks 2001-03-13 01:58:22 +00:00
classobject.c Reimplement PySequence_Contains() and instance_contains(), so they work 2001-05-05 21:05:01 +00:00
cobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
complexobject.c SF bug [ #409448 ] Complex division is braindead 2001-03-18 08:21:57 +00:00
dictobject.c Restore dicts' tp_compare slot, and change dict_richcompare to say it 2001-05-10 21:45:19 +00:00
fileobject.c Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
floatobject.c SF bug #422177: Results from .pyc differs from .py 2001-05-08 15:19:57 +00:00
frameobject.c SF patch 419176 from MvL; fixed bug 418977 2001-05-08 04:08:59 +00:00
funcobject.c Since Py_TPFLAGS_HAVE_WEAKREFS is set in Py_TPFLAGS_DEFAULT, it does not 2001-05-03 16:04:13 +00:00
intobject.c Use Py_CHARMASK for ctype macros. Fixes bug #232787. 2001-03-06 12:12:02 +00:00
iterobject.c Discard a misleading comment about iter_iternext(). 2001-05-01 17:01:25 +00:00
listobject.c Fix core dump whenever PyList_Reverse() was called. 2001-02-12 22:06:02 +00:00
longobject.c Rich comparisons fall-out: 2001-01-17 15:33:18 +00:00
methodobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
moduleobject.c Add garbage collection for module objects. Closes patch #102939 and 2001-01-02 15:58:27 +00:00
object.c SF bug #422108 - Error in rich comparisons. 2001-05-07 20:53:51 +00:00
obmalloc.c Identifiers matching _[A-Z_]\w* are reserved for C implementations. 2001-03-11 18:36:13 +00:00
rangeobject.c SF patch #103158 by Greg Ball: Don't do unsafe arithmetic in xrange 2001-01-15 18:58:56 +00:00
sliceobject.c SF patch #408326 by Robin Thomas: slice objects comparable, not 2001-03-20 12:41:34 +00:00
stringobject.c Heh. I need a break. After this: stropmodule & stringobject were more 2001-05-10 00:32:57 +00:00
tupleobject.c Same treatment as listobject.c: 2001-01-18 00:00:53 +00:00
typeobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
unicodectype.c unicode database compression, step 3: 2000-09-25 21:48:13 +00:00
unicodeobject.c Remove unused variable 2001-05-08 04:00:45 +00:00
unicodetype_db.h forgot to check in the new makeunicodedata.py script 2001-01-21 17:01:31 +00:00
xxobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00