At 0:23 Uhr -0800 10.3.2001, Perrin Harkins wrote:
>On Sat, 10 Mar 2001, Christian Jaeger wrote:
>> For all of you trying to share session information efficently my
>> IPC::FsSharevars module might be the right thing. I wrote it after
>> having considered all the other solutions. It uses the file system
>> directly (no BDB/etc. overhead) and provides sophisticated locking
>> (even different variables from the same session can be written at the
>> same time).
>
>Sounds very interesting. Does it use a multi-file approach like
>File::Cache? Have you actually benchmarked it against BerkeleyDB? It's
>hard to beat BDB because it uses a shared memory buffer, but theoretically
>the file system buffer could do it since that's managed by the kernel.
Yes, it uses a separate file for each variable. This way also locking
is solved, each variable has it's own file lock.
It's a bit difficult to write a realworld benchmark. I've tried to
use DB_File before but it was very slow when doing a sync after every
write as is recommended in various documentation to make it
multiprocess safe. What do you mean with BerkeleyDB, something
different than DB_File?
Currently I don't use Mmap (are there no cross platform issues using
that?), that might speed it up a bit more.
Christian.