1999-05-24-16:02:40 Brent Hueth:
> BTW, can someone point me to a good FAQ that talks about the pros and cons of
> each mailbox system (mbox, maildir, and mh).
There have been many such; I'm pretty sure the topic is discussed somewhat in
the procmail FAQ. I'll have another bash at it here, just for funsies.
Discussing those 3 folder formats, I'd say the advantages are:
mbox is faster and more space-efficient for large numbers of small messages,
where "small" means relative to the typical filesystem allocation
unit. An mbox full of multi-meg messages will be slower than one of
the directory-based formats, on most systems. I've yet to actually
pursue a fantasy of mine and try benchmarking Maildir on Reiserfs[1].
mbox has the _disadvantage_ that it requires locking; when one process
is modifying an mbox it in general has to rewrite it, so everyone else
needs to leave it alone entirely. Locking incurs a performance penalty
for high-volume systems, and a reliability hit in large-scale
distributed systems (NFS locking doesn't work reliably).
Maildir takes a performance hit for very large numbers of small messages on
typical filesystems, relative to mbox, but it's perfectly reliable
with no locking required, and many operations (e.g. deleting a few
messages from a huge folder) are way faster, because messages that
aren't modified don't need to be touched at all. Maildir and MH enjoy
the benefit that since each message is a separate file, standard Unix
file-manipulation tools work well with them.
MH enjoys the advantages mentioned for Maildir that come with
file-per-message --- applicability of Unix tools, performance edge for
huge messages --- but without the locking benefit, since both the
index file and the choice of filenames for messages require locking
to prevent concurrent updates. MH format is however directly
supported by MH, available on lots of platforms, and popular in some
circles.
I favour Maildir for most purposes. I really don't like locking:-).
-Bennett
[1] <URL:http://idiom.com/~beverly/reiserfs.html>