Improve Monte typemaps
[Math-GSL.git] / examples / vector / speed
blob8b47bb60a8f592969d666b8d9ed717b392e2c51f
1 #!/usr/bin/perl -w
3 use strict;
4 use warnings;
5 use Benchmark;
6 use Math::GSL::Vector;
7 use Math::GSL::RNG;
8 use List::Util qw/max min/;
10 my $rng = Math::GSL::RNG->new;
11 my $num = shift || 10000;
12 my @stuff = map { $rng->get() } (1..$num);
13 my $vector = Math::GSL::Vector->new([@stuff]);
15 my $runs = shift || 50_000;
16 timethese($runs, {
17 'min - List::Util ' => sub { min(@stuff) },
18 'min of Math::GSL vector ' => sub { $vector->min },
19 });
20 timethese($runs, {
21 'max - List::Util ' => sub { max(@stuff) },
22 'max of Math::GSL vector ' => sub { $vector->max },
23 });