i can also imagine storing the full rfc822 header object in this index so
that "scan" and many forms of "pick" can operate at the speed of modern
hardware. (stat()'ing ten thousand files in a directory has not gotten
faster over the years, whereas dbm_read()'ing 10000 elements has gotten
really quite fast compared to the vax 750 i first used MH on.)
Paul, you should take a look at how the CMU Cyrus IMAP server organizes
it's on-disk message store. It's pretty much an MH folder tree with a
per-folder index and cache of useful headers.
Adding the index/cache files to the native MH file store would make most
MH commands blazingly fast, the obvious benefits being to scan and pick.
This would also provide a good foundation for allowing nmh to be a
powerful disconnected-mode IMAP client.
I did a very crude proof-of-concept nnh with IMAP back in the Esys days.
It's certainly doable.
Nmh-workers mailing list