in reply to Re^2: searching through data
in thread searching through data
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...
|
|---|