~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/_static_tuple_c.h

  • Committer: John Arbash Meinel
  • Date: 2010-08-10 20:03:44 UTC
  • mto: This revision was merged to the branch mainline in revision 5376.
  • Revision ID: john@arbash-meinel.com-20100810200344-6muerwvkafqu7w47
Rework things a bit so the logic can be shared.

It turns out that some of the peak memory is actually during the inventory
to string to bundle translations. So re-use the refcount logic there.
This actually does show a decrease in peak memory.
Specifically 'cd bzr.dev; bzr send ../2.2' drops from 221MB peak to 156MB.

We don't speed anything up (16.5s both ways), but peak memory is quite
a bit better.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2009 Canonical Ltd
 
1
/* Copyright (C) 2009, 2010 Canonical Ltd
2
2
 * 
3
3
 * This program is free software; you can redistribute it and/or modify
4
4
 * it under the terms of the GNU General Public License as published by
67
67
#define StaticTuple_SET_ITEM(key, offset, val) \
68
68
    ((((StaticTuple*)(key))->items[(offset)]) = ((PyObject *)(val)))
69
69
#define StaticTuple_GET_ITEM(key, offset) (((StaticTuple*)key)->items[offset])
 
70
#define StaticTuple_GET_SIZE(key) (((StaticTuple*)key)->size)
70
71
 
71
72
 
72
73
#ifdef STATIC_TUPLE_MODULE