On 22.6.2004, at 01:18, Farkas Levente wrote:
0.99.10 indexes aren't too good, but I still find it a bit strange that Cyrus takes something like 10x less load. I'd think most of it has to do with maildir format itself, that it needs to rename files when flags change, and Dovecot needs to resync the whole maildir after each change in mailbox (and sometimes twice).
why should have to resync? couldn't be possible to do one atomic rename and index update step without resync?
But to be interoperable with other maildir clients, Dovecot can't know if someone else didn't do other changes within the same second. So it has to resync everything.
as I wrote about half a year the best solution would be a local delivery agent which can update the index files and spread the load to the arrival time instead of the mail read time.
That's also getting near. mbox already updates the mail index when saving mails to it, I'll soon fix it to update cache file as well. I'll do the same for maildir soon too.
I guess we'll need a IMAP-optimized format sometimes soon.
than you've to write local delivery agent for many MTAs...
Not necessarily, it can be maildir-compatible for delivery :)