#3691: Add LMDB support
---------------------------+----------------------
Reporter: rsc | Owner: mutt-dev
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: header cache | Version:
Resolution: | Keywords:
---------------------------+----------------------
Comment (by neverpanic):
Unfortunately your solution still suffers from the performance problem:
{{{
rm ./headers.lmdb*; time ./mutt -e 'set header_cache = "./headers.lmdb"'
-f ~/Mail/MacPorts/tickets
real 0m28.436s
user 0m8.232s
sys 0m11.476s
}}}
It seems that mh.c alternates between reading and writing, so transactions
are still constantly opened and closed.
I've attached another patch that keeps the transactions open and re-uses
write transactions for reading if a write transaction happens to be open.
This delays writes until `mutt_hcache_close`:
{{{
rm ./headers.lmdb*; time ./mutt -e 'set header_cache = "./headers.lmdb"'
-f ~/Mail/MacPorts/tickets
real 0m9.636s
user 0m6.530s
sys 0m2.459s
}}}
See attachment:2016-09-19-diff-re-use-transactions.patch for the diff
against your version in comment:8 and attachment:2016-09-19-hcache-lmdb-
re-using-transactions.patch for the complete patch.
--
Ticket URL: <https://dev.mutt.org/trac/ticket/3691#comment:11>
Mutt <http://www.mutt.org/>
The Mutt mail user agent