On Thu, 2009-07-30 at 11:30 -0400, Jonathan Siegle wrote:
I recently found out about something called memcached. The goal of
memcached(server)[1] and libmemcached(client library)[2] is to store
maps in memory of tokens. So my key would be "jsiegle_sieve" and my
data would be my sieve file. So instead of the 10-20 million reads to
disk, we would just pull from memory.
Then again, if you have enough memory your OS could be doing that automatically already. Or maybe if the Sieve plugin supports giving a separate path to downloaded scripts, the destination could be in a ramdisk or if you're using Linux: http://memcachefs.sourceforge.net/
Also I'm hopefully going to abstracting out filesystem accessing code in Dovecot's index files and dbox code. Sieve could use this same FS API, and you could implement whatever backend to actually perform the FS access, like memcached..