Thread Sort VS Schwartz'sche sort ??? - Benchmark (21 answers)
Opened by Updecrator at 2006-01-03 11:05

pq
 2006-01-03 11:48
#61453 #61453
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
vielleicht hast du den sinn  der ST nicht verstanden.
wenn du nach $a <=> $b sortieren willst, warum benutzt du dann eine ST?
schneller kann es doch nicht gehen als zwei zahlen zu vergleichen.
stattdessen machst du in der ST etwas komisches:
map { my $num = $_; $num =~ /\d+/; [ $_, $num ]; } @numbers
du weist $_ der überflüssigen variable $num zu, darauf führst du einen match aus,
machts aber nix mit dem ergebnis und mappst das ganze auf [$_, $_] (sinngemäß).
dann schließlich sortierst du:
sort { $b->[1] <=> $a->[1] }
allein das ist natürlich schon etwas langsamer als $a <=> $b, weil auf array-
referenzen zugegriffen wird.

also, nicht äpfel mit birnen vergleichen. die ST ist da schneller, wo in der sort-
routine aufwändige sachen gemacht werden.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Sort VS Schwartz'sche sort ??? - Benchmark