cpython/Include
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
..
Python.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
abstract.h Generalize operator.indexOf (PySequence_Index) to work with any 2001-09-08 04:00:12 +00:00
bitset.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
bufferobject.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
cStringIO.h Cast the result of xxxPyCObject_Import to PycStringIO_CAPI*. 2001-06-09 07:59:43 +00:00
cellobject.h PEP 227 implementation 2001-01-25 20:04:14 +00:00
ceval.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
classobject.h Add PyMethod_Function(), PyMethod_Self(), PyMethod_Class() back. 2001-09-05 22:52:50 +00:00
cobject.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
codecs.h Changing the CNRI copyright notice according to CNRI's instructions. 2000-08-03 16:24:25 +00:00
compile.h Refactor future feature handling 2001-08-10 21:38:04 +00:00
complexobject.h Again perhaps the end of [#460020] bug or feature: unicode() and subclasses. 2001-09-12 19:12:49 +00:00
descrobject.h *EXPERIMENTAL* speedup of slot_sq_item. This sped up the following 2001-10-03 12:09:30 +00:00
dictobject.h Add PyDict_Merge(a, b, override): 2001-08-10 20:28:28 +00:00
errcode.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
eval.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
fileobject.h SF bug [#460467] file objects should be subclassable. 2001-09-13 05:38:56 +00:00
floatobject.h More for SF bug [#460020] bug or feature: unicode() and subclasses 2001-09-10 21:28:20 +00:00
frameobject.h Make frames a PyVarObject instead of a PyObject. 2001-08-29 23:45:25 +00:00
funcobject.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
graminit.h Merging the gen-branch into the main line, at Guido's direction. Yay! 2001-06-18 22:08:13 +00:00
grammar.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
import.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
intobject.h SF bug #460020: bug or feature: unicode() and subclasses. 2001-09-10 20:52:51 +00:00
intrcheck.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
iterobject.h Mondo changes to the iterator stuff, without changing how Python code 2001-04-23 14:08:49 +00:00
listobject.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
longintrepr.h SF bug #460020: bug or feature: unicode() and subclasses. 2001-09-10 20:52:51 +00:00
longobject.h SF bug #460020: bug or feature: unicode() and subclasses. 2001-09-10 20:52:51 +00:00
marshal.h It's unclear whether PyMarshal_XXX() are part of the public or private API. 2001-01-28 00:27:39 +00:00
metagrammar.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
methodobject.h Remove much dead code from ceval.c 2001-08-12 21:52:24 +00:00
modsupport.h Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
moduleobject.h SF bug [#460467] file objects should be subclassable. 2001-09-13 05:38:56 +00:00
node.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
object.h Add Garbage Collection support to new-style classes (not yet to their 2001-10-02 21:24:57 +00:00
objimpl.h Add Garbage Collection support to new-style classes (not yet to their 2001-10-02 21:24:57 +00:00
opcode.h Implement PEP 238 in its (almost) full glory. 2001-08-08 05:00:18 +00:00
osdefs.h RISCOS patch by dschwertberger 2001-03-02 06:10:17 +00:00
parsetok.h Ugly. A pile of new xxxFlags() functions, to communicate to the parser 2001-07-16 05:37:24 +00:00
patchlevel.h PY_RELEASE_SERIAL => 4 2001-09-28 17:15:23 +00:00
pgenheaders.h Repair more now-obsolete references to config.h. 2001-07-26 21:34:59 +00:00
py_curses.h Added header file for C API exported by _cursesmodule.c 2000-12-22 21:51:10 +00:00
pydebug.h Add warning mode for classic division, almost exactly as specified in 2001-08-31 17:40:15 +00:00
pyerrors.h Introduce OverflowWarning -- to be issued when short int operations 2001-08-23 02:56:07 +00:00
pyfpe.h Some patches to Lee Busby's fpectl mods that accidentally didn't make it 1997-10-20 23:50:01 +00:00
pygetopt.h Move our own getopt() implementation to _PyOS_GetOpt(), and use it 2000-11-03 08:18:37 +00:00
pymactoolbox.h Prototype for PyMac_GetFullPathname(). 2001-09-10 22:09:30 +00:00
pymem.h Repair more now-obsolete references to config.h. 2001-07-26 21:34:59 +00:00
pyport.h SF patch [#466353] Py_HUGE_VAL on BeOS for Intel. 2001-10-01 19:50:06 +00:00
pystate.h Add a low-level API to access interpreters, for David Beazley. 2001-07-19 12:19:27 +00:00
pythonrun.h Add warning mode for classic division, almost exactly as specified in 2001-08-31 17:40:15 +00:00
pythread.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
rangeobject.h Re-add 'advanced' xrange features, adding DeprecationWarnings as discussed 2001-07-09 12:30:54 +00:00
sliceobject.h ANSI-fication and Py_PROTO extermination. 2000-07-09 00:55:06 +00:00
stringobject.h More on SF bug [#460020] bug or feature: unicode() and subclasses. 2001-09-11 01:41:59 +00:00
structmember.h Add optional docstrings to member descriptors. For backwards 2001-09-20 20:46:19 +00:00
symtable.h Remove st_nested_scopes from struct symtable, 2001-08-11 21:51:24 +00:00
sysmodule.h Add declarations for PySys_ResetWarnOptions() and 2000-12-15 22:01:39 +00:00
token.h Implement PEP 238 in its (almost) full glory. 2001-08-08 05:00:18 +00:00
traceback.h REMOVED all CWI, CNRI and BeOpen copyright markings. 2000-09-01 23:29:29 +00:00
tupleobject.h More on SF bug [#460020] bug or feature: unicode() and subclasses. 2001-09-10 23:37:46 +00:00
ucnhash.h refactored the unicodeobject/ucnhash interface, to hide the 2001-01-19 09:45:02 +00:00
unicodeobject.h Patch #435971: UTF-7 codec by Brian Quinlan. 2001-09-20 10:35:46 +00:00