initial commit
[urisagit/Sort-Maker.git] / exp / cmp.pl
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