The question is: When does the mbx performance gains over mbox begin?
Mbx performance over traditional UNIX format is in all aspects. Whether or not these benefits are worth the cost to you of conversion is for you to decide.
Here are some of the differences between traditional UNIX format and mbx format:
A program opening a traditional UNIX format mailbox for read must read every byte in the file to locate the "From " lines.
A program opening an mbx format for read must read the 2K internal header, and then 64 bytes per message.
A program updating a flag in a traditional UNIX format mailbox must rewrite the message header holding the Status:/X-Status:/X-Keywords: lines, and probably must also rewrite the message body and all subsequent messages in the mailbox since the position of this body probably shifted. Because of this, c-client defers message status updates until the next checkpoint (check, expunge, or close) so it can do multiple updates at once.
A program updating a flag in an mbx format mailbox only needs to change a single byte of the file. Because of this, c-client does message status updates immediately.
Traditional UNIX format mailboxes use UNIX-style LF-only newline conventions. Consequently, texts must be converted to CRLF-format, and size calculations must take into account this conversion (the entire text must be scanned for bare LFs and the count incremented for each). Extra memory is required for this conversion.
Mbx format mailboxes use Internet-style CRLF newline conventions, consequently no text conversions are necessary and size calculations are simply the difference between two pointers.
Newly-delivered messages in traditional UNIX format must be rewritten when first read to set up Status:, X-Status:, X-Keywords:, and X-UID: lines in the message header to hold message metadata. These lines must also be filtered out prior to delivering header strings to the client.
Newly-delivered messages in mbx format have the message metadata in the internal format header, not in the message, and the space is preallocated so no rewrite is necessary.
-- Mark --
http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.
