Re: mbox vs. Maildir (was: Re: [Evolution] expunge speed)



So, there are several problems with your conclusion - first and
foremost that you're looking only at one aspect of the behavior of
each storage scheme.

What about fragility?  Since mbox is a linear ASCII format - any
corruption of the file (software has bugs, it happens) has the
potential to destroy the entire mailbox?

What about size?  Since attachments are stored in MIME format - an
mbox with many large messages becomes very large.  MUA's have to
either perform sequential IO (slow) or memory map the entire file
(not scalable).

Neither format is perfect - and they each fall down in different
places.  If mbox works for you, fine - use it.


To summarize:  mbox is way faster and handled by more clients.  mbox

It's certainly true that mbox is handled by more clients, but you
admitted in your message that delete times are slower than maildir - so
I don't see how you support the assertation that mbox is "faster."
"fast enough for you" I'd agree with - but "faster" isn't generally
true.

Out of curiosity - when deleting messages from the mbox in your
testing - did you ensure that all clients were actually re-writing the
file on delete?  (not just flagging the message)

Maildir has constant time add and delete behavior - mbox is linear (mh
is somewhere in the middle - it's delete time is constant, but it's
add time scales linearly with the number of writers attempting to
aquire the lock).  mbox is often faster to read and parse because you
open() a single file rather than iterating across the files in a
directory - but neither one performs well in the large.  Maildir and
mh can be tuned by "fixing" the filesystem.  Mbox can't be tuned.

-- 
   Dan Berger [dberger ix netcom com]
   http://home.ix.netcom.com/~dberger
   Nolite te bastardes carborundorum

   "We are what we repeatedly do.  Excellence, then, is not an act, 
    but a habit."
                                  -- Aristotle

    A982 E6B1 CB2F 7A49  843A 9297 DA73 4371  1F54 8D0C

Attachment: pgp53P9P_KCkH.pgp
Description: PGP signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]