Hello Cameron, I've replied in-line On Fri, Mar 31, 2023 at 10:22:49AM +1100, Cameron Simpson wrote:
"memory based" might just mean memory mapped - kytotocabinet still has persistent storage. Using a tmpfs will mean (a) it uses your physical RAM (or possibly swap?) even when you're not using mutt and (b) the db will vanosh on reboot. I've used kyotocabinet elsewhere but do not know much, if anything, about its internals. Are you asking about picking a db backend (eg kyoto versus dbm)?
yes. I have several choices when building mutt: HCACHE_BDB : off HCACHE_GDBM : off HCACHE_KYOTOCABINET: off HCACHE_LMDB : on HCACHE_NONE : off HCACHE_QDBM : off HCACHE_TOKYOCABINET: off The question is really about "is it worth putting kyotocabinet in there when ~/tmp is already a tmpfs and it uses (mostly? mainly?) ram
Subjectively, I'd have thought for moderate data they'd be similar on a tmpfs. If you're prepared to rebuild the whole hcache after a reboot (which of course might be very infrequent for you) it still may not matter.
Yes. The machine is on 24/7 apart from OS upgrades and similar
Can you qualify what your concerns are here?
It's just interest. I want as fast as possible and it's not an issue if headers have to be re-fetched after a boot because the connection is also fast. I use imap with my ISP. I frequently press '$' to resync last-read pointers with the imap server. Maybe I can tell mutt to do that automatically every 5 mins. my concern is only that if/when headers have to be re-fetched that already-read email doesn't have the unread flag set subsequently.
I use an hcache. On persistent storage, which is an SSD for me. My "python" folder has 157000 messages in it and opening mutt on it and then closing it just took about 20 seconds including eyeballing the top line to read the message count. This mutt was built with tokyocabinet, which I expect is used for the hache (nothing else would have any use for it).
I'd recomment lmdb in your context if you need persistent storage. Have been v impressed with lmdb. I also have thousands of emails spread across different folders. My context is using a rpi4b (8GB) with
usb3-connected hard drive. Right now, with $tmpdir pointing to a tmpfs mount, and with hcache still pointing to the HD, (and with a zfs filesystem), mutt is veru useable and quick even on this limited hardware. --