summaryrefslogtreecommitdiff
path: root/Mailman/Archiver/pipermail.py
diff options
context:
space:
mode:
authorbwarsaw1999-08-21 05:27:52 +0000
committerbwarsaw1999-08-21 05:27:52 +0000
commit54913081da961ddafeb2f0591850af03497dc65d (patch)
tree1e7c58888be6c29adda1e6084c03964358056e7e /Mailman/Archiver/pipermail.py
parentd32edf3685107a87a3645ca4f4df4bda165e249b (diff)
downloadmailman-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