On May 7, 2007, at 11:26 AM, Perrin Harkins wrote:

Of course, the problem with using a database to get
the lists (besides the lists being the result of a munge), is that they are
rather large.

Ideally you would load only the part you need, rather than the whole
thing.  A local shared storage method, like BerkeleyDB or MySQL over
Unix-domain sockets, can be very speedy.

IIRC, Wouldn't the fastest method possible be using Storable and a simple local file on the server ?

        Building a perl var from a storable has almost no overhead.

If you keep a record of a system file's last modified time , and just check that for changes periodically (or even every request), the check should happen all within the kernel's inode cache and never actually hit the disk.

That should offer a slight improvement over BDB , since you'll never hit the disk.

This wouldn't work in a clustered environment , but you could do some sort of cron job to rsync everything if needed. Unless you're already using mysql in your app , I wouldn't add it in -- you'll introduce a new potential performance bottleneck.


Reply via email to