In the past I needed to move old mails out to a backup folder occasionally, since it took too long for mutt to load all the headers when opening the maildir (often some 10 seconds for about 6000 mails).
Today I remembered that mutt should actually do header caching, so I looked it
up in the docs, and saw that the config option was missing in my
.muttrc. I put it in, restarted mutt, and after the cache was initialized the
performance was noticeably better:
Mutt can actually use 3 kinds of database backends for the cache, bdb, gdbm and
qdbm. The default in Debian is bdb, to use one of the others you have to flip a
debian/rules and recompile the package.
On my machine qdbm was fastest (gdbm slightly slower, dbm far behind), so I stuck with that. Since I use a self-compiled mutt package anyway (because I want my index_color patch included), it's not much of a problem.