cpython/Objects
Guido van Rossum f4593e0b65 *EXPERIMENTAL* speedup of slot_sq_item. This sped up the following
test dramatically:

    class T(tuple): __dynamic__ = 1
    t = T(range(1000))
    for i in range(1000): tt = tuple(t)

The speedup was about 5x compared to the previous state of CVS (1.7
vs. 8.8, in arbitrary time units).  But it's still more than twice as
slow as as the same test with __dynamic__ = 0 (0.8).

I'm not sure that I really want to go through the trouble of this kind
of speedup for every slot.  Even doing it just for the most popular
slots will be a major effort (the new slot_sq_item is 40+ lines, while
the old one was one line with a powerful macro -- unfortunately the
speedup comes from expanding the macro and doing things in a way
specific to the slot signature).

An alternative that I'm currently considering is sketched in PLAN.txt:
trap setattr on type objects.  But this will require keeping track of
all derived types using weak references.
2001-10-03 12:09:30 +00:00
..
.cvsignore Ignore a bunch of generated files. 2000-05-02 18:34:30 +00:00
abstract.c binary_op1(), ternary_op(): rearrange the code so that slotw is tested 2001-10-01 17:10:18 +00:00
bufferobject.c repr's converted to using PyString_FromFormat() instead of sprintf'ing 2001-08-24 18:34:26 +00:00
cellobject.c Use new GC API. 2001-08-29 23:54:21 +00:00
classobject.c SF bug [#466173] unpack TypeError unclear 2001-09-30 05:58:42 +00:00
cobject.c REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
complexobject.c Merge branch changes (coercion, rich comparisons) into trunk. 2001-09-27 20:30:07 +00:00
descrobject.c *EXPERIMENTAL* speedup of slot_sq_item. This sped up the following 2001-10-03 12:09:30 +00:00
dictobject.c Changed the dict implementation to take "string shortcuts" only when 2001-09-14 00:25:33 +00:00
fileobject.c Generalize file.writelines() to allow iterable objects. 2001-09-23 04:06:05 +00:00
floatobject.c Add additional coercion support for "self subtypes" to int, long, 2001-09-19 01:25:16 +00:00
frameobject.c Add optional docstrings to getset descriptors. Fortunately, there's 2001-09-20 21:45:26 +00:00
funcobject.c Add optional docstrings to getset descriptors. Fortunately, there's 2001-09-20 21:45:26 +00:00
intobject.c Add additional coercion support for "self subtypes" to int, long, 2001-09-19 01:25:16 +00:00
iterobject.c Patch #427190: Implement and use METH_NOARGS and METH_O. 2001-08-16 13:15:00 +00:00
listobject.c Give the internal immutable list type .extend and .pop methods (they 2001-08-30 06:15:32 +00:00
longobject.c SF [#466125] PyLong_AsLongLong works for any integer. 2001-09-30 05:09:37 +00:00
methodobject.c Add optional docstrings to getset descriptors. Fortunately, there's 2001-09-20 21:45:26 +00:00
moduleobject.c Add optional docstrings to member descriptors. For backwards 2001-09-20 20:46:19 +00:00
object.c Merge branch changes (coercion, rich comparisons) into trunk. 2001-09-27 20:30:07 +00:00
obmalloc.c Identifiers matching _[A-Z_]\w* are reserved for C implementations. 2001-03-11 18:36:13 +00:00
rangeobject.c repr's converted to using PyString_FromFormat() instead of sprintf'ing 2001-08-24 18:34:26 +00:00
sliceobject.c Add optional docstrings to member descriptors. For backwards 2001-09-20 20:46:19 +00:00
stringobject.c SF bug [#467265] Compile errors on SuSe Linux on IBM/s390. 2001-10-02 21:32:07 +00:00
tupleobject.c The endless 460020 bug. 2001-09-11 19:48:03 +00:00
typeobject.c *EXPERIMENTAL* speedup of slot_sq_item. This sped up the following 2001-10-03 12:09:30 +00:00
unicodectype.c removed "register const" from scalar arguments to the unicode 2001-06-27 22:08:26 +00:00
unicodeobject.c Fix a bug in rendering of \\ by repr() -- it rendered as \\\ instead 2001-09-21 15:38:17 +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