~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to NEWS

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-10-12 19:51:59 UTC
  • mfrom: (4679.5.11 2.1-static-tuple-no-use)
  • Revision ID: pqm@pqm.ubuntu.com-20091012195159-n0de3utv1q92agvg
(jam) Implement a StaticTuple() class,
        with lighter memory and not in Python's GC.

Show diffs side-by-side

added added

removed removed

Lines of Context:
209
209
* Added ``bzrlib._simple_set_pyx``. This is a hybrid between a Set and a
210
210
  Dict (it only holds keys, but you can lookup the object located at a
211
211
  given key). It has significantly reduced memory consumption versus the
212
 
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This will
213
 
  be used as the interning structure for StaticTuple objects, as part of
214
 
  an ongoing push to reduce peak memory consumption.  (John Arbash Meinel)
 
212
  builtin objects (1/2 the size of Set, 1/3rd the size of Dict). This is
 
213
  used as the interning structure for StaticTuple objects.
 
214
  (John Arbash Meinel)
215
215
 
216
216
* ``BTreeLeafParser.extract_key`` has been tweaked slightly to reduce
217
217
  mallocs while parsing the index (approx 3=>1 mallocs per key read).
218
218
  This results in a 10% speedup while reading an index.
219
219
  (John Arbash Meinel)
220
220
 
 
221
* ``bzrlib._static_tuple_pyx.StaticTuple`` is now available. This class
 
222
  functions similarly to ``tuple`` objects. However, it can only point at
 
223
  other ``StaticTuple`` instances or strings. This allows us to remove it
 
224
  from the garbage collector (it cannot be in a cycle), it also allows us
 
225
  to intern the objects. In testing, this can reduce peak memory by
 
226
  20-40%, and significantly improve performance by removing objects from
 
227
  being inspected by the garbage collector. (John Arbash Meinel)
 
228
 
221
229
* The ``bzrlib.lsprof`` module has a new class ``BzrProfiler`` which makes
222
230
  profiling in some situations like callbacks and generators easier.
223
231
  (Robert Collins)