[pypy-svn] r41204 - pypy/dist/pypy/doc

mwh at codespeak.net mwh at codespeak.net
Fri Mar 23 18:16:06 CET 2007

Author: mwh
Date: Fri Mar 23 18:16:04 2007
New Revision: 41204

divide into object and interpreter optimizations, add stub sections for the
special bytecodes and Title Case section titles.

Modified: pypy/dist/pypy/doc/interpreter-optimizations.txt
--- pypy/dist/pypy/doc/interpreter-optimizations.txt	(original)
+++ pypy/dist/pypy/doc/interpreter-optimizations.txt	Fri Mar 23 18:16:04 2007
@@ -28,11 +28,14 @@
 .. describe other optimizations!
-String optimizations
+Object Optimizations
-string-join objects
+String Optimizations
+String-Join Objects
 String-join objects are a different implementation of the Python ``str`` type,
 They represent the lazy addition of several strings without actually performing
@@ -44,8 +47,8 @@
 You can enable this feature enable with the :config:`objspace.std.withstrjoin`
-string-slice objects
+String-Slice Objects
 String-slice objects are another implementation of the Python ``str`` type.
 They represent the lazy slicing of a string without actually performing the
@@ -62,7 +65,7 @@
 You can enable this feature with the :config:`objspace.std.withstrslice` option.
 Ropes are a general flexible string implementation, following the paper `"Ropes:
 An alternative to Strings."`_ by Boehm, Atkinson and Plass. Strings are
@@ -89,11 +92,11 @@
 .. _`"Ropes: An alternative to Strings."`: http://www.cs.ubc.ca/local/reading/proceedings/spe91-95/spe/vol25/issue12/spe986.pdf
-Integer optimizations
+Integer Optimizations
-caching small integers
+Caching Small Integers
 Similar to CPython, it is possible to enable caching of small integer objects to
 not have to allocate all the time when doing simple arithmetic. Every time a new
@@ -102,8 +105,8 @@
 You can enable this feature with the :config:`objspace.std.withsmallint` option.
-integers as tagged pointers
+Integers as Tagged Pointers
 An even more aggressive way to save memory when using integers is "small int"
 integer implementation. It is another integer implementation used for integers
@@ -113,11 +116,11 @@
 time and memory.
-Dictionary optimizations
+Dictionary Optimizations
 Multi-dicts are a special implementation of dictionaries.  It became clear that
 it is very useful to *change* the internal representation of an object during
@@ -134,8 +137,8 @@
 .. XXX chunked dicts, small dicts
-sharing dicts
+Sharing Dicts
 Sharing dictionaries are a special representation used together with multidicts.
 This dict representation is used only for instance dictionaries and tries to
@@ -154,8 +157,8 @@
 You can enable this feature with the :config:`objspace.std.withsharingdict`
 Usually the calling of builtins in Python requires two dictionary lookups: first
 to see whether the current global dictionary contains an object with the same
@@ -181,11 +184,11 @@
 :config:`objspace.opcodes.CALL_LIKELY_BUILTIN` option.
-List optimizations
+List Optimizations
 Range-lists solve the same problem that the ``xrange`` builtin solves poorly:
 the problem that ``range`` allocates memory even if the resulting list is only
@@ -199,8 +202,8 @@
 You can enable this feature with the :config:`objspace.std.withrangelist`
 As with dictionaries it became clear that it is generally useful to allow lists
 to change their internal representation over their lifetime. Therefore
@@ -214,8 +217,8 @@
-fast list slicing
+Fast List Slicing
 A rather experimental special list representation used with multilists is the
 slice list (the original idea is from `Neal Norwitz on pypy-dev`_). The
@@ -230,11 +233,11 @@
 .. _`Neal Norwitz on pypy-dev`: http://codespeak.net/pipermail/pypy-dev/2005q4/002538.html
-User class optimizations
+User Class Optimizations
-Shadow tracking
+Shadow Tracking
 Shadow tracking is a general optimization that speeds up method calls for user
 classes (that don't have special meta-class). For this a special dict
@@ -251,8 +254,8 @@
-Method caching
+Method Caching
 Shadow tracking is also an important building block for the method caching
 optimization. A method cache is introduced where the result of a method lookup
@@ -267,4 +270,18 @@
 You can enable this feature with the :config:`objspace.std.withmethodcache`
+Interpreter Optimizations
+Special Bytecodes
+Write this!
+And this!

More information about the Pypy-commit mailing list