On Mon, 2003-02-17 at 20:07, Andreas Aardal Hanssen wrote:
Now I will not claim that Maildir is indefinitely much better, but it's almost, but not quite, much much better than mbox.
The main difference is if there should be one file per message or one file per mailbox. Per-mailbox files are faster (less syscalls, less filesystem stress) as long as mails aren't being expunged from the middle of it. I'm still personally using mbox and I know I usually delete only mails that I've received recently so only small parts of the file needs to be rewritten.
So which one is faster depends mostly on the user. I'm not sure about "better" argument. mbox needs a more work to make it work well. UW imapd supports also another flat file format "mbx" which should be more IMAP-friendly.
UW imapd author also says that mbox is slow and changing to mbx would give a lot higher performance, but I think that's mostly commenting UW imapd implementation than mbox format itself. There are some ugly slowing hacks that have to be done, but they're not _that_ slow if implemented well. And that slowness shows just in CPU usage which is cheap in IMAP servers compared to I/O.
With Maildir there's no need to lock the depository when deleting or delivering mails (even on NFS), but you can't store (append) a message with a timestamp nor with flags without breaking consistency,
I don't understand this. What's the problem with setting timestamp or flags when appending a message? You create it in tmp/ with wanted name and timestamp, then rename() it.
and servers have to search for lost messages when an external client changes a flag.
Yes, this is annoying.