There are really only two optimizations you can do with perl hashing - speed or size.

If you know the approximate size of your hash and want to speed up access, you can presize your hash

keys(%hash) = 1024;
Given the set of keys you have, that may or may not really speed things up. The theory is that by allocating space up front, you prevent slow downs when the hash needs to be re-allocated.

For memory size, if you think your hash is going to consume more memory than you have, you should look into the various Tie::Hash modules that have a db backend.

Either way, both are probably the last places I would look for optimizations.

-derby

In reply to Re: Hash optimization in Perl? by derby
in thread Hash optimization in Perl? by cormanaz

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.