summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-02-13 19:00:07 (GMT)
committerRaymond Hettinger <python@rcn.com>2004-02-13 19:00:07 (GMT)
commit7a6d297bda367b7f373feed70bef6926cb675580 (patch)
treeca6c8253e8a65dcecb9c8377780282e905b7b81d /Doc
parentcb3e580ebce784c2e5eb86cb30c842f66e29cb04 (diff)
downloadcpython-7a6d297bda367b7f373feed70bef6926cb675580.zip
cpython-7a6d297bda367b7f373feed70bef6926cb675580.tar.gz
cpython-7a6d297bda367b7f373feed70bef6926cb675580.tar.bz2
* Note list optimizations
* Move an example out of a comment.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/whatsnew24.tex27
1 files changed, 14 insertions, 13 deletions
diff --git a/Doc/whatsnew/whatsnew24.tex b/Doc/whatsnew/whatsnew24.tex
index fec2f38..3530c12 100644
--- a/Doc/whatsnew/whatsnew24.tex
+++ b/Doc/whatsnew/whatsnew24.tex
@@ -143,19 +143,11 @@ works like the \method{split()} method but splits from the end of
the string.
\begin{verbatim}
->>> 'a b c'.split(None, 1)
-['a', 'b c']
->>> 'a b c'.rsplit(None, 1)
-['a b', 'c']
-\end{verbatim}
-
-% Consider replacing the above example with one that is less
-% abstract and more suggestive of why the function is useful:
-%
-% >>> 'www.python.org'.split('.', 1)
-% ['www', 'python.org']
-% >>> 'www.python.org'.rsplit('.', 1)
-% ['www.python', 'org']
+>>> 'www.python.org'.split('.', 1)
+['www', 'python.org']
+'www.python.org'.rsplit('.', 1)
+['www.python', 'org']
+\end{verbatim}
\item The \method{sort()} method of lists gained three keyword
arguments, \var{cmp}, \var{key}, and \var{reverse}. These arguments
@@ -267,6 +259,15 @@ yellow 5
\begin{itemize}
+\item The machinery for growing and shrinking lists was optimized
+ for speed and for space efficiency. Small lists (under six bytes)
+ never over-allocate by more than one byte. Large lists do not
+ over-allocate by more than 1/8th. Appending and popping from lists
+ now runs faster due to more efficient code paths and less frequent
+ use of the underlying system realloc(). List comprehensions also
+ benefit. The amount of improvement varies between systems and shows
+ the greatest improvement on systems with poor realloc() implementations.
+
\item \function{list()}, \function{tuple()}, \function{map()},
\function{filter()}, and \function{zip()} now run several times
faster with non-sequence arguments that supply a \method{__len__()}