perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Perrin Harkins <>
Subject Re: Persisting data across authenticate <-> authorize ?
Date Tue, 14 Dec 2004 06:08:53 GMT
On Mon, 2004-12-13 at 22:48 -0700, Tim Pushor wrote:
> Right - I scoured the Cache::FastmMap perldoc and didn't see any way to 
> do this.

You'd have to do it yourself with Cache::FastMmap, and check it on the
way out.  You might be better off using something else at that point.

Here are some performance comparisons, if you're interested:

> Are you talking about the good ol' berk db (1.85) or the newer sleepycat 
> versions?

Definitely the Sleepycat ones!  I'm using 4.2.  This could make a huge

> So the first crack of the module there was significant lock contention - 
> as every access to every part of the site required an exclusive lock.

Page-level locking should certainly have helped with that.  More recent
versions of BerkeleyDB are so fast though, it really might not be

> When I was revamping the C module, I had considered 
> writing a threaded daemon that would keep track of the tokens in memory, 
> with a unix domain socket interface to the httpd processes. This has 
> lots of advantages but is complex.

Don't build your own, just use a local MySQL server.  That's exactly
what it does, and it's foolishly fast at simple primary key read/write
stuff over unix sockets.  It really does beat nearly all of the caching
modules on CPAN for speed when you use it for simple stuff.

> Yeah, I meant how the IPC::Shareable implements locking (well, 
> IPC::SysV) - I realize this is done in C.

Might be mmap'ed or semaphores.  I really have no idea for FreeBSD.

> I was planning on doing my own more efficent transformation to/from a 
> scalar, and telling IPC::Shareable to not bother serializing it

I've never tried that, but it sounds like an improvement.  Currently,
the more data you put into IPC::Shareable, the slower it goes.

- Perrin

Report problems:
Mail list info:
List etiquette:

View raw message