Hi all,

I've landed an important change in the FETCH code that improves typical
FETCH commands by at least two orders of magnitude.

Typical FETCH commands after opening a mailbox will only retrieve data
that is fully cached by dbmail. This cache was - until now - not fully
being used by the fetch code. It was/is for SEARCH/SORT (which kicks
ass), but not for FETCH. This sore spot in dbmail's performance has now
been remedied.

I can open a mailbox containing 8000 messages in 5 seconds using
Thunderbird over a broadband line (400kbps). Expect the same in
Evolution, or any other MUA that will not require message parsing while
opening a mailbox.

Users of Outlook will not experience the same speedup, because Outlook
also wants the message envelope while opening a mailbox. This still
requires full parsing of each unseen message in the mailbox which
results in two queries hitting the backend per message.

This suggests that ENVELOPE and BODYSTRUCTURE should also be cached in a
near-future version of dbmail, just like the headers are now.

Anyway: please test this and let me know how it feels. I've tried my
best to avoid any leaks or segfaults, but there are still a couple of
tiny leaks in there.


-- 
  ________________________________________________________________
  Paul Stevens                                      paul at nfg.nl
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands________________________________http://www.nfg.nl

Reply via email to