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

mutt's IMAP support (was: What am I missing without mutt?)

Steve Lamb:
> Jochen Schulz wrote:
>     The main problem that I saw is that on delete operations it does
> something that is insanely slower than TBird.  For example, on TBird I
> can mark 25 messages as deleted, hit delete, and within about a second
> they are in the trash folder.

Deletion in TB is a little bit different from what mutt does. TB copies
the messages to Trash and just marks the messages as deleted. mutt, on
the other hand, marks messages as deleted and when you leave the mailbox
(or explicitly press '$') it purges all messages marked for deletion.
The purging step is done by TB only when you manually select the
'compact' option in the context menu of a mailbox. The only exception to
that is the Inbox. In the account setting you cann tell TB do compact
("expunge" in IMAP slang) every time you exit TB (which is probably a
good idea since many people delete/move mails from their Inbox very

You can see the difference in behaviour when opening a mailbox from
which you have deleted messages using TB without compacting. You'll see
how mutt displays them with the 'D' flag (deleted) and upon leaving the
mailbox mutt will ask you whether you really want to delete them.
However, I have never experienced the lag you describe.

Example (Pentium3, 512MB RAM, mutt running on the same etch server as
Dovecot, header cache enabled):

I open my spam folder (569 messages), press 'D' and enter '~d>7d'.
Instantly, 510 messages are marked for deletion (but this information is
not yet synched to the server). When I press '$', they are completely
deleted from the mailbox. That takes about five seconds.

Another example: tagging 6351 messages from debian-user and 's'aving
them to a new mailbox. That takes about 40 seconds. The tagged messages
in the current mailbox are not deleted yet, they are just flagged 'D'.
Purging them takes another 40 seconds. Copying them back takes mere 10
seconds, but that might have something to do with disk cache. Deleting
the test mailbox (containing the not-yet-expunged 6351 messages) takes
about 30 seconds.

All in all, I think these numbers are quite reasonable. The biggest
bottleneck is most probably disk I/O and of course it depends on the
mail storage format the IMAP server is using (Maildir in my case).

I agree that today these things could theoretically be handled better
using threads running in the background without blocking the user
interface. But the way mutt currently handles these things makes it
quite clear for the user what's happening and makes error handling
probably a whole lot easier. I wouldn't like to get notified by mutt
about the failure of an operation I started a minute ago.

I am now seeing that mutt has a "trash" option which moves mail to a
designated trash folder instead of deleting from the server. I don't use
that, though. (Coincidentally, it appears to be buggy: #448241.)

I am no longer prepared to give you the benefit of the doubt.
[Agree]   [Disagree]

Attachment: signature.asc
Description: Digital signature

Reply to: