[neomutt-devel] CFT - Header cache enhancements (Phase #2)

Pietro Cerutti gahr at gahr.ch
Thu Nov 17 17:53:10 CET 2016

Hi all,

thanks to everybody who tested and provided feedback on Phase #1 of the 
hcache refactor, which was announced November 8th [1].

Now, I would like to proceed with the testing of Phase #2.

The code resides in the devel/hcache-runtime branch [2].
As a description, let me copy/paste part of the commit message:

Support compilation of multiple hcache backends and run-time selection.

This commits introduces the support for multiple backends and an option 
to configure the one to use at run time (header_cache_backend).
Backends are not mutual exclusive anymore, and several can be compiled 
in by specifying multiple --with-<backend> configure options.

For backwards compatibility, the header_cache_backend option can be left 
empty, in which case the first (configure.ac order) compiled-in backend 
is selected. In the case of distros building with a single backend 
enabled - as they are forced to do today - the hcache functionality is 

So, please go ahead, checkout the branch and compile with several 
backends enabled:


You can then set the "header_cache_backend" option to any of the names 
above (whatever comes after --with-).
You can also switch between backends at runtime. Please remember to also 
change the hcache storage path:

:set header_cache=~/.mutt/cache-bdb
:set header_cache_backend=bdb

Change folder, let the cache populate, do this and that..

:set header_cache=~/.mutt/cache-tc
:set header_cache_backend=tokyocabinet

Again, go around folders and behold your cache being populated.

If you're also willing to provide some benchmarks, please see Issue #224 

Thank you!

[2] https://github.com/neomutt/neomutt/tree/devel/hcache-runtime
[3] https://github.com/neomutt/neomutt/issues/244

Pietro Cerutti
gahr at gahr.ch

PGP Public Key:

More information about the neomutt-devel mailing list