in reply to RE: Re (tilly) 1: sort performance
in thread sort performance
You are right. I just benchmarked it. The overhead of
the maps far outweighs the cost of the sort. In fact it
is so slow I will have to ask p5p about it. Here is my
test:
Believe it or not, stupid is several times faster for me than schwartz. IMO there is simply no possible good reason for that!use strict; use Benchmark; use vars qw(%hash %test); for (1..1000) { $hash{"key$_"}{this} = "num$_"; } %test = ( schwartz => sub { my @sorted = map $_->[0], sort {$a->[1] cmp $b->[1]} map [$_, $hash{$_}{this}], keys %hash; }, straight => sub { my @sorted = sort { $hash{$a}{this} <=> $hash{$b}{this} } keys %hash; }, stupid => sub { my @sorted = sort { my $foo = [$a, $hash{$a}{this}]; $hash{$a}{this} <=> $hash{$b}{this} } keys %hash; }, ); timethese (-1, \%test);
|
---|
Replies are listed 'Best First'. | |
---|---|
RE: RE (tilly) 3: sort performance
by tye (Sage) on Sep 12, 2000 at 07:00 UTC | |
by tilly (Archbishop) on Sep 12, 2000 at 07:05 UTC | |
RE (tilly) 4: sort performance
by tilly (Archbishop) on Sep 12, 2000 at 07:42 UTC | |
by tye (Sage) on Sep 12, 2000 at 08:01 UTC |
In Section
Seekers of Perl Wisdom