diff options
| author | bwarsaw | 1999-08-21 05:27:52 +0000 |
|---|---|---|
| committer | bwarsaw | 1999-08-21 05:27:52 +0000 |
| commit | 54913081da961ddafeb2f0591850af03497dc65d (patch) | |
| tree | 1e7c58888be6c29adda1e6084c03964358056e7e /Mailman/Archiver/pipermail.py | |
| parent | d32edf3685107a87a3645ca4f4df4bda165e249b (diff) | |
| download | mailman-54913081da961ddafeb2f0591850af03497dc65d.tar.gz mailman-54913081da961ddafeb2f0591850af03497dc65d.tar.zst mailman-54913081da961ddafeb2f0591850af03497dc65d.zip | |
Extensive changes based on Jeremy Hylton's investigations. These
should considerably help the performance of the archiver.
Specifically:
class DumbBTree: Don't sort the self.sorted list unless some client is
actually traversing the data structure. This saves a lot of work when
items are added. See also Jeremy's XXX comment for further
optimization ideas.
class HyperDatabase: Jeremy also has questions about the usefulness of
the cache used here. Because the items are traversed in linear order,
there isn't much locality of reference, so cache eviction doesn't buy
you much (it's actually more expensive than just keeping everything in
the cache, so that's what we do). That's a space for time trade-off
that might need a re-evaluation.
Clearly, more work could be done to improve the performance of the
archiver, but this should improve matters significantly. Caveat: this
has been only minimally tested in a production environment.
I call this the Hylton Band-aid.
Diffstat (limited to 'Mailman/Archiver/pipermail.py')
0 files changed, 0 insertions, 0 deletions
