Tim Bunce wrote:
In this module I need to do some work on shared memory segments. What Perl module is most in use to do that? i.e. which module should I support?
I was thinking about IPC::ShareLite. Is that one the "best" in terms of distribution, or are other ones more ubiquitous?
What about IPC::Shareable?
All of the ones based on IPC::Shareable or IPC::ShareLite are too slow for most applications. This is because they serialize and de-serialize the entire data structure every time. IPC::MM doesn't have this problem, and neither do the disk-based ones. All of those are much faster.

The best modules are IPC::MM, BerkeleyDB (not DB_File), and Cache::Mmap. IPC::MM does not store data persistently, so that rules it out for some applications. BerkeleyDB can have problems under heavy load. (Just ask the folks at TicketMaster.)

Sadly his presentation isn't online here
http://conferences.oreillynet.com/pub/w/15/presentations.html
so I've CC'd Perrin in the hope that he'll post a url for it.
I was just talking to the mod_perl crew about putting it up there, and there may be a PDF soon. In the meantime all I have is a PowerPoint. I can send it to interested parties privately. I just got a new, more modern test system and I plan to redo my benchmarks and turn it into a nice article for perl.com.

- Perrin




Reply via email to