diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2002-11-15 14:37:10 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2002-11-15 14:37:10 (GMT) |
commit | b60ea3f01f6cba0d1d14f328d00e3922cb66bcd6 (patch) | |
tree | 7cdcd315573c2e3ba22070fcf1671d4a8bed23fa | |
parent | 545c2509700f52e0fa8233aa350af444d4f0c8ff (diff) | |
download | cpython-b60ea3f01f6cba0d1d14f328d00e3922cb66bcd6.zip cpython-b60ea3f01f6cba0d1d14f328d00e3922cb66bcd6.tar.gz cpython-b60ea3f01f6cba0d1d14f328d00e3922cb66bcd6.tar.bz2 |
Mention change in MRO
-rw-r--r-- | Doc/whatsnew/whatsnew23.tex | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Doc/whatsnew/whatsnew23.tex b/Doc/whatsnew/whatsnew23.tex index a7c9dbe..102cd42 100644 --- a/Doc/whatsnew/whatsnew23.tex +++ b/Doc/whatsnew/whatsnew23.tex @@ -854,6 +854,19 @@ command line or use \function{warnings.filterwarnings()}. \exception{SyntaxWarning} warning. In a future version of Python, \code{None} may finally become a keyword. +\item The method resolution order used by new-style classes has +changed, though you'll only notice the difference if you have a really +complicated inheritance hierarchy. (Classic classes are unaffected by +this change.) Python 2.2 originally used a topological sort of a +class's ancestors, but 2.3 now uses the C3 algorithm as described in +\citetitle[http://www.webcom.com/haahr/dylan/linearization-oopsla96.html]{``A +Monotonic Superclass Linearization for Dylan''}. To understand the +motivation for this change, read the thread on python-dev starting +with the message at +\url{http://mail.python.org/pipermail/python-dev/2002-October/029035.html}. +Samuele Pedroni first pointed out the problem and also implemented the +fix by coding the C3 algorithm. + \item Python runs multithreaded programs by switching between threads after executing N bytecodes. The default value for N has been increased from 10 to 100 bytecodes, speeding up single-threaded |