[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nmh-workers] indexing

From: Lyndon Nerenberg (VE6BBM/VE7TFX)
Subject: Re: [Nmh-workers] indexing
Date: Mon, 7 Feb 2011 17:54:05 -0800

> 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

(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 ... :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]