#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

Reply via email to