You are comparing apples and oranges. You are poking at the reasons for the disjunction between the two techniques when you look at what you need to do to handle an array reference in a hash - you special case the split/join code, but Storable just goes and does it. The cost of "just goes and does it" is a little execution time.

The surprise it not that Storable is slower, but how little slower it is compared to hand crafted code with up-front knowledge of the data structure to be serialized.

If you want to spend the time to hand craft code every time the data structure changes you can squeeze a little more speed out of the result for sure, but that becomes a maintenance nightmare and a really good way to lose data if you manage to get the in and out code out of sync with each other. Unless execution time is critical I'd strongly advise you go the Storable route.


DWIM is Perl's answer to Gödel

In reply to Re: Benchmark on deserializing data by GrandFather
in thread Benchmark on deserializing data by RL

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.