Rev 4770: NEWS entry about StaticTuple performance. in http://bazaar.launchpad.net/~jameinel/bzr/2.1-static-tuple-btree-string-intern

John Arbash Meinel john at arbash-meinel.com
Mon Oct 12 21:18:59 BST 2009


At http://bazaar.launchpad.net/~jameinel/bzr/2.1-static-tuple-btree-string-intern

------------------------------------------------------------
revno: 4770
revision-id: john at arbash-meinel.com-20091012201853-1ow992zmnqwpa1ki
parent: john at arbash-meinel.com-20091012201232-ccnceqvk29u7v22u
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 2.1-static-tuple-btree-string-intern
timestamp: Mon 2009-10-12 15:18:53 -0500
message:
  NEWS entry about StaticTuple performance.
  And some small comments about btree using it.
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS	2009-10-12 18:14:21 +0000
+++ b/NEWS	2009-10-12 20:18:53 +0000
@@ -163,6 +163,11 @@
   ``TooManyConcurrentRequests`` and similar errors.
   (Andrew Bennetts, #429747)
 
+* When reading index files, we now use a ``StaticTuple`` rather than a
+  plain ``tuple`` object. This generally gives a 20% decrease in peak
+  memory, and can give a performance boost up to 40% on large projects.
+  (John Arbash Meinel)
+
 
 Documentation
 *************
@@ -218,13 +223,14 @@
   This results in a 10% speedup while reading an index.
   (John Arbash Meinel)
 
-* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available. This class
-  functions similarly to ``tuple`` objects. However, it can only point at
-  other ``StaticTuple`` instances or strings. This allows us to remove it
-  from the garbage collector (it cannot be in a cycle), it also allows us
-  to intern the objects. In testing, this can reduce peak memory by
-  20-40%, and significantly improve performance by removing objects from
-  being inspected by the garbage collector. (John Arbash Meinel)
+* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available and used by
+  the btree index parser. This class functions similarly to ``tuple``
+  objects. However, it can only point at other ``StaticTuple`` instances
+  or strings. This allows us to remove it from the garbage collector (it
+  cannot be in a cycle), it also allows us to intern the objects. In
+  testing, this can reduce peak memory by 20-40%, and significantly
+  improve performance by removing objects from being inspected by the
+  garbage collector. (John Arbash Meinel)
 
 * The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
   profiling in some situations like callbacks and generators easier.



More information about the bazaar-commits mailing list