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
