nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] indexing

2011-02-07 19:54:28
yes, i saw that.  dovecot has something similar.  however, i need to be
able to pick, refile -link, rmm, and stuff like that.  and, i'm
fundamentally itchy about using an imap server's internal representation
since i like to imagine imap as an access method rather than as a closed
ecosystem.

Well, there's some IMAP-specific stuff in there (e.g.  IMAP keywords),
but what makes the difference is 1) the MIME structure of the message
is pre-parsed into the cache, along with the relevant offsets into the
message file, and 2) commonly used header fields are stored in the
cache.

(2) provides everything you need for scan, and (1) makes show and
burst a breeze.  And no sleepycat to slow things down.  Sleepycat
does slow things down.  We learned this the hard way.  In rev 2 of our
in-house IMAP server we replaced the Cyrus index/cache file scheme
with sleepycat indexes.  BIG mistake.  Performance and scaling
nosedived.  Rev 3 went back to something very close to the Cyrus
scheme.  (IMAP LIST and MH scan are identical operations.  All that
differs is the format string to printf.)

The Cyrus cache is designed to be blindingly fast.  Ignore it if you
want, but you'll never cook up anything that approaches it for speed
and simplicity.  (I have personally dragged away some of the bloody
carcasses of those who tried ... :-)

--lyndon


_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>