Sam Varshavchik wrote:

Bill Taroli writes:

Sam Varshavchik wrote:

Jon Nelson writes:


I recently gave Dovecot a try. It's not nearly as featureful (or seemingly as stable) as courier-imap, but it has one very important distinction:

It is *wicked* fast.

It made me think - indexes are what makes dovecot so fast.  What would
it take to add similar indexing capabilities to courier-imap?


So, if you want to evaluate indexing you need to take a reasonably popular IMAP client, log its IMAP commands, then show how indexing will help. Arbitrary benchmarks won't cut it, and adding indexes for the benefit of a lesser-used IMAP tool will come at the expense of greater overhead for the rest of the IMAP clients, which makes no sense.



I can't speak for him, but perhaps he's referring to server-side searches?


And how would the server telepathically know what the client is going to search for, and thus prepare a suitable index in advance?


Well, it's not as if we're talking about a normalized database here... there is a quite finite amount of data one can search. Just a brief review of search options in the clients I use suggests that the most likely thing to index are header fields. The body of the message, much like blob objects in databases, might well be considered something not worthy of indexing but still searchable -- no different than it is now. It might even be that what gets indexed be a local decision. As you suggest, indexing isn't one of those things that's usually one-size-fits-all...

And *maybe* the indexing itself isn't something that gets done in imapd at all... perhaps it would make more sense to extend the search capability by allowing the searches to be passed to an external agent, which itself would be interested in the indexing and management of the information to do searches.... ? Seems more in keeping with the Courier design philosophy I remember reading a long time ago that says "if it isn't something that's focused on the processing of mail, then implement that somewhere else". In this case, the something else would then need to be hooked via imapd when search requests were executed.

Bill

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



Reply via email to