http://www.perlmonks.org?node_id=612269


in reply to Benchmark on deserializing data

Most important I don't understand why both methods using Storable are slower than the other two using plain split for deserialization.

It's because Storable can cope with pretty much anything. Try doing something like this:

use Storable qw( freeze thaw ); { no warnings 'once'; $Storable::Deparse=1; $Storable::Eval=1; } thaw( freeze( sub { print "hello world\n" } ) )->();

with split - or persisting something with with a "|" character in a hash value :-)

Storable is general - and you'll sometimes pay for that with speed.

Replies are listed 'Best First'.
Re^2: Benchmark on deserializing data
by aufflick (Deacon) on Apr 27, 2007 at 00:42 UTC
    It's worth pointing out to anyone stumbling upon this thread that the above example will only restore a self contained anonymous sub and not a closure (ie. storable doesn't attempt to restore the lexical state of the sub { }).