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