Well, I'll be....

Any idea of where all that extra memory usage is coming from (beyond the 78M for Data::Dumper)? That's a lot of extra space for 13M of actual data. Based on a conversation in the CB, hash buckets only account for about half a meg extra, not 60M (or 20M as per another tester in a reply further up)

Update:A quick check on my machine comes up with 26M for storing key value pairs in an array, and 34M for storing them in a hash:

key-value pair: 112 bytes total data for 125,000 key-value pairs: 13.25M virtual memory usage for array built via push @aData, $k, $v: 26M virtual memory usage for hash built via $hData{$k} = $v: 34M

The test script is below

use strict; use warnings; my $k="//programfiles/documents/data/lookup/script_auth_pap.h"; my $v="\\root\\edit\\perl\\scripts\\scripths\\sec\\inc\\script_auth_pa +p.h"; # ----------------------------------- # pick one or the other array or hash # ----------------------------------- #my @aData; #for (1..125000) { # push @aData, $k, $v; #} my %hData; for (1..125000) { $hData{$k}=$v; } # ----------------------------------- # memory consumption output # ----------------------------------- my $iPair = length($k) + length($v); printf STDERR "Length of key-value pair: %d bytes; total data=%.2f M\n +" , $iPair, (125001*$iPair)/(1028*1028); warn `ps -o vsz -p $$ 2>NUL`, ' ';

In reply to Re^5: Constructing a hash - why isn't my regex matching anything by ELISHEVA
in thread Constructing a hash - why isn't my regex matching anything by perl_mystery

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.