3 use Math
::GSL
::Sort qw
/:all/;
4 use Math
::GSL
::RNG qw
/:all/;
5 use Benchmark qw
/:all/;
8 my $count = shift || 1000;
9 my $length = shift || 5000;
10 my $rng = Math
::GSL
::RNG
->new;
11 my @data1 = map { (-1)**$_ * $rng->get } (1..$length);
12 my @data2 = map { (-1)**$_ * int(rand(2**30)) } (1..$length);
15 print "Benchmarking for Math::GSL::RNG data\n";
17 'perl sort ' => sub { @stuff = sort { $a <=> $b } @data1 },
18 'Math::GSL sort' => sub { @stuff = gsl_sort
(\
@data1,1,$#data1+1) },
21 print "Benchmarking for rand() data\n";
23 'perl sort ' => sub { @stuff = sort { $a <=> $b } @data2 },
24 'Math::GSL sort' => sub { @stuff = gsl_sort
(\
@data2,1,$#data2+1) },