John W. Krahn wrote: > Frank Bax wrote: >>Rather than create/store/sort many billion entities, my script creates >>these entities dynamically and maintains a hash of the "top 100". As >>each entity is created, I search my hash for the entity with "lowest" >>value, based on a number of elements in the hash; then "low" element >>gets replaced with "new" element. Code looks like: >> my $low = 0; >> for( my $new=1; $new<=$iSuit; ++$new ) { >> my $snew = >>sprintf("%4d%4d",$aSuit{$new}{'rescap'},$aSuit{$new}{'resval'}); >> my $slow = >>sprintf("%4d%4d",$aSuit{$low}{'rescap'},$aSuit{$low}{'resval'}); > > Using sprintf() to concatenate numbers is (AFAIK) going to be slower than > concatenation: > > my $snew = $aSuit{ $new }{ rescap } . $aSuit{ $new }{ resval }; > my $slow = $aSuit{ $low }{ rescap } . $aSuit{ $low }{ resval };
Sorry, that won't work because of the '%4d' format but this should: my $snew = $aSuit{ $new }{ rescap } * 10000 + $aSuit{ $new }{ resval }; my $slow = $aSuit{ $low }{ rescap } * 10000 + $aSuit{ $low }{ resval }; John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>