Commit | Line | Data |
---|---|---|
7468c584 | 1 | #!/usr/local/bin/perl |
2 | ||
3 | use Benchmark ; | |
4 | ||
5 | my @in = map rand 50000, 1 .. 1000 ; | |
6 | ||
7 | timethese( shift || -2, { | |
8 | ||
9 | plain => sub { my @out = sort { $a <=> $b } @in }, | |
10 | ||
11 | slice => sub { my @out = sort { ($a)[0] <=> ($b)[0] } @in }, | |
12 | ||
13 | map => sub { my @out = sort { | |
14 | (map {$_}$a)[0] <=> (map {$_}$b)[0] } @in }, | |
15 | ||
16 | temp => sub { my @out = sort { | |
17 | my( $l, $r ) = map {$_} $a, $b; $l <=> $r } @in }, | |
18 | ||
19 | } ) ; | |
20 | ||
21 |