in reply to Re: how to merge many files of sorted hashes?
in thread how to merge many files of sorted hashes?
thanks for your reply!
i start with 100 points each with x,y,z coordinates.
so that's roughly the structure (actual code too long to post here). the first half is really fast to compute, but once i start merging files it takes forever. thanks a lot!4.941 32.586 -1.772 15.354 22.823 10.556 -0.495 12.345 98.234 ... $block_size = 1000; $counter = 0; %small_hash = (); foreach @triplet of the 100 points{ $counter++; my @matrix = ortho(@triplet); foreach $point in the 100 points{ my $key = binning(@matrix * $point); push @{$small_hash{$key}},@matrix; } #binning causes many points to fall in the same grid, #thus the array of values (matrices) for each key if($counter % $block_size == 0){ write out %small_hash; %small_hash = (); #frees the memory } } # now merging small hash files foreach $key (sort keys %master_hash){#keys for master_hash stored loop thru all small files{ while(<FILE>){ if($_ =~ /^$key/){ write values to the master output file; last; }#if }#while }#go thru files }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: how to merge many files of sorted hashes?
by GrandFather (Saint) on Feb 02, 2012 at 21:08 UTC | |
by andromedia33 (Novice) on Feb 02, 2012 at 22:54 UTC | |
by GrandFather (Saint) on Feb 03, 2012 at 00:26 UTC | |
by andromedia33 (Novice) on Feb 03, 2012 at 16:05 UTC | |
Re^3: how to merge many files of sorted hashes?
by wrog (Friar) on Feb 02, 2012 at 23:25 UTC |
In Section
Seekers of Perl Wisdom