Tim Bunce wrote:
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.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?
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.)
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.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.
- Perrin
