Algorithm-Permute
view release on metacpan or search on metacpan
bench/benchmark.pl view on Meta::CPAN
foreach my $m (@optionals) {
eval "require $m";
if ($@) {
print "Unable to load $m. Not yet installed?\n";
} else {
print "Module $m loaded.\n";
push @modules, $m;
}
}
# give user a chance to select modules to his/her interest
print "\nRun benchmark against:\n";
my @selected = grep {
print "$_ [Y/n]? ";
if ($opts{'y'}) { print "Y\n"; 1 }
else { my $ans = <>; $ans !~ /^N/i }
} @modules, qw/Combinatorial::Permutations Memoization LISPy/;
print "\n";
my $i = 0;
my %modules = map {
sprintf("%02d_", $i++) . $_ => $runners{$_}
} 'Algorithm::Permute qw(permute)', 'Algorithm::Permute', @selected;
# run benchmark
my $b = timethese($opts{l}, \%modules);
$opts{r} and do { print "\n"; cmpthese($b); };
sub usage {
print <<"USAGE";
$0 [options]
-h this help
( run in 0.282 second using v1.01-cache-2.11-cpan-94b05bcf43c )