Author: Tom Samplonius Date: To: Michael J. Tubby B.Sc. G8TIC CC: exim-users Subject: Re: [Exim] Mail storage formats/ POP/IMAP/webmail daemon/etc..
On Fri, 30 Mar 2001, Michael J. Tubby B.Sc. G8TIC wrote:
> I implemented Courier IMAP about 8-9 monts ago and have found it to be
> excellent. Courier-IMAP beats WU-IMAPD every way you look at it....
>
> - Maildir is a much better format for storing messages (fast, efficient,
> etc)
Most people aren't aware that UW imapd (note: this is not WU!) supports
more than the default UNIX bezerk format. The default UNIX format is very
poor, and the uw-imapd supports it for backwards compatibility reasons
only. The MBX format is recommended.
Second, Maildir has performance weaknesses. The time to open a maildir
is dependent on the number of messages in the mailbox. An MBX format
mailbox containing 5000 messages will open faster than a maildir mailbox
with 5000 messages in it. Cyrus imapd/popd mailboxes would open faster
yet, because it keeps a header index, and the actual messages would not
have to touched.
Maildir handles selective message deletion better than MBX. Cyrus
imapd/popd is just as good as Maildir. Though deleteing all messages
(common for a POP server) is fastest on MBX.
MBX uses storage more efficiently than Cyrus or MBX, as messages are
packed together. It also uses less inodes.
Implementing quotas on servers that don't have Unix users setup is
rather slow on Maildir. MBX is very easy since you just stat() the
mailbox file. Cyrus is also easy since its message index contains quota
support. Maildir quota checks require totaling the size of the all
messages in the mailbox. That is a very slow process, and gets slower as
the number of messages increase.