diff options
author | Raymond Hettinger <python@rcn.com> | 2004-02-13 19:00:07 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-02-13 19:00:07 (GMT) |
commit | 7a6d297bda367b7f373feed70bef6926cb675580 (patch) | |
tree | ca6c8253e8a65dcecb9c8377780282e905b7b81d /Doc | |
parent | cb3e580ebce784c2e5eb86cb30c842f66e29cb04 (diff) | |
download | cpython-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.tex | 27 |
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__()} |