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

Updecrator
 2006-01-03 11:05
#61449 #61449
User since
2005-11-16
17 Artikel
BenutzerIn
[default_avatar]
hallo, zusammen,

Eigentlich sollte Schwartz'sche Sort viel schneller als die normale Sortierung,
aber welchen Fehler habe ich bei der 'Benchmark' gemacht, sodass das Ergebnis umgekehrt ist?

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use Benchmark;

my @numbers;

for (1..10000) {
my $random = int( rand(9000)) + 5;
push @numbers, $random;
}

print scalar @numbers, " numbers created !\n";

my $iterations = 100;

timethese($iterations, {
"Schwartz" => sub {
my @sorted = map { $_->[0] }
sort { $b->[1] <=> $a->[1] }
map { my $num = $_; $num =~ /\d+/; [ $_, $num ]; } @numbers }

});

timethese($iterations, {
"Normal sort" => sub {
my @sorted = sort {$b <=> $a} @numbers;
}
});

exit;


Nach der Ausfuehrung habe ich:
Quote
10000 numbers created !
Benchmark: timing 100 iterations of Schwartz...
Schwartz: 17 wallclock secs (13.40 usr + 0.18 sys = 13.58 CPU) @ 7.36/s (n=100)
Benchmark: timing 100 iterations of Normal sort...
Normal sort: 2 wallclock secs ( 1.50 usr + 0.04 sys = 1.54 CPU) @ 64.94/s (n=100)


Vielen Dank im Voraus!

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