in reply to Re: Re: Printing a hash in a specific order?
in thread Printing a hash in a specific order?
My benchmark, comparing 200,00 records and each record contain a 50 fields containing small numeric data as key and value, gives the results:
Benchmark: timing 200000 iterations of with_tie, without_tie...
with_tie: 98 wallclock secs (96.22 usr + 0.00 sys = 96.22 CPU) @ 2078.61/s (n=200000)
without_tie: 14 wallclock secs (13.25 usr + 0.00 sys = 13.25 CPU) @ 15094.34/s (n=200000)
Rate with_tie without_tie
with_tie 2079/s -- -86%
without_tie 15094/s 626% --
And the code is
artistuse Benchmark qw(cmpthese); use strict; use Tie::IxHash; sub with_tie { tie my %menu, 'Tie::IxHash'; foreach (1..50){$menu{$_} = $_; } } sub without_tie{ my %menu; foreach (1..50){$menu{$_} = $_;} } cmpthese(200000, { with_tie => \&with_tie, without_tie => \&without_tie });
|
|---|