[Alpine-info] Saving messages is incredibly slow in 1.10

Matt Ackeret mattack at apple.com
Tue Feb 10 16:44:09 PST 2009


On Tue, 10 Feb 2009, Mark Crispin wrote:

> UIDs are unique 32-bit numeric identifiers assigned to each message in a

> mailbox. Like message sequence numbers, they are strictly ascending values;

...

> This "improvement" is a horrible burden for traditional UNIX format, since

> there is no way to prevent random programs from adding messages. For the

> record, I opposed the "improvement".


What does it actually improve? (I presume it improves some typical use case.)


> In fact, what you have to do when adding a message:

> 1) READ THE ENTIRE FILE to get the UID assignments for all messages.

> 2) Assign UIDs to messages already there that currently do not have UIDs

> and rewrite those messages.

> before you can assign a UID to the message you are adding.

>

> If there aren't any UID assignments, then the ENTIRE FILE must be rewritten.

> That is the cause of the big hit.

...

> I dealt with this particular question for 15 years. I'm quite familiar with

> all the clever ideas of how to "fix" the problem. It ultimately boils down to


So I realize this probably isn't a new idea, but..

Since they're strictly ascending values, does it at least search the file
from END to beginning? That way, once it finds a UID, it knows it doesn't
have to go any farther....?


More information about the Alpine-info mailing list