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:

set header_cache="~/.mutt/headercache"

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 switch in 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.


Comments