Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^4: Storable( Double size not compatible in Storable) compatible)

by Anonymous Monk
on Jan 08, 2011 at 21:05 UTC ( [id://881274]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Storable( Double size not compatible in Storable) compatible)
in thread Storable( Double size not compatible in Storable) compatible)

If you cannot conceive of any application where store and retrieve performance is more important that inter-platform or even inter-version portability, then you have a very limited imagination.

Ipso facto, neither you (nor he) are qualified to talk for everyone.

  • Comment on Re^4: Storable( Double size not compatible in Storable) compatible)

Replies are listed 'Best First'.
Re^5: Storable( Double size not compatible in Storable) compatible) [benchmark]
by andreas1234567 (Vicar) on Jan 12, 2011 at 06:45 UTC
    Then how do you, Anonymous Monk, explain why JSON::XS is considerably faster than Storable in this example:
    # Benchmark use warnings; use strict; use Benchmark qw(cmpthese); use Storable qw(freeze thaw); use JSON::XS; my $hashref = { one => 1, two => 2, three => 3, four => 4, five => 5 } +; my @array = (1 .. 1000); cmpthese( -1, { 'storable-hashref' => sub { my $foo = thaw(freeze($hashref)); }, 'storable-arrayref' => sub { my $bar = thaw(freeze(\@array)); }, 'json-xs-hashref' => sub { my $foo = decode_json(encode_json($hashref)); }, 'json-xs-arrayref' => sub { my $bar = decode_json(encode_json(\@array)); }, } ); __END__
    $ perl -wl bm_storable_vs_json.pl Rate storable-arrayref json-xs-arrayref storable +-hashref json-xs-hashref storable-arrayref 6222/s -- -31% + -84% -99% json-xs-arrayref 8967/s 44% -- + -77% -98% storable-hashref 38280/s 515% 327% + -- -92% json-xs-hashref 501851/s 7965% 5497% + 1211% -- $
    --
    No matter how great and destructive your problems may seem now, remember, you've probably only seen the tip of them. [1]
Re^5: Storable( Double size not compatible in Storable) compatible)
by ruzam (Curate) on Jan 08, 2011 at 22:34 UTC

    If you cannot conceive of any application where store and retrieve inter-version portability is more important than performance then you have a very limited imagination yourself. Perhaps that's why you hide behind anonymity.

    PHP 'serialize' doesn't seem to have a problem with either performance or inter-version portability yet we're stuck the Perl world with a "use at your own risk" core module for what should be a core piece of functionality. Storable could happily live on in CPAN and be an invaluable source for those who need the 'performance' and understand the risk.

    When you don't 'own' the system you're code runs on you have to accept that the world around you may change, sometimes without notice. When that happens, you better not be depending on Storable to keep you running. Of course if you live in a bubble you're free to continue making what ever choices you want.

      Perhaps that's why you hide behind anonymity.

      You know what they say, when you assume...

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://881274]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (3)
As of 2024-04-20 00:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found