There is no need to have the list of numbers both in an array and in the hash.
Well, I just left in the @array to make it easier for the OP
to see what is what... And if the idea is to reduce memory usage,
you should definitely also get rid of the map, which would cut
it down to 45 MB, as opposed to 108 MB with the map. (map creates
all the elements on the stack before assigning them...)
my %lookup_table;
$lookup_table{int rand 1e6}++ for 1..400000; # 45 M
---
my %lookup_table = map {int rand 1e6 => 1} 1..400000; # 108 M
Also, using ++ instead of assigning 1 has the added benefit
of detecting duplicate numbers, should this ever be of interest...
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.