Digest-Skein
view release on metacpan or search on metacpan
digest-benchmark view on Meta::CPAN
#!/usr/bin/perl -w
use strict;
use Benchmark qw/ cmpthese /;
use Getopt::Long qw/ GetOptions :config no_ignore_case /;
my %opts = (
iterations => 100, # number of iterations
size => 0.5, # data size in MB
);
GetOptions( \%opts, 'iterations|i=i', 'size|s=f', );
my $data = "abcdefghij" x ( $opts{size} * 100_000 );
use Digest ();
use Digest::Skein ();
use Digest::MD5 ();
use Digest::SHA1 ();
use Digest::SHA ();
use Digest::Whirlpool ();
##use Digest::Tiger (); # dumps core :-/
digest-benchmark view on Meta::CPAN
skein_1024 => sub { Digest::Skein::skein_1024($data) },
md5 => sub { Digest::MD5::md5($data) },
whirlpool => sub { Digest->new('Whirlpool')->add($data)->digest },
## tiger => sub { Digest::Tiger::hash($data) },
);
# pre-load everything just in case
$_->() for values %algo;
# run the benchmark
cmpthese( $opts{iterations}, \%algo, );
# vim: ts=4 sw=4 noet
( run in 1.839 second using v1.01-cache-2.11-cpan-71847e10f99 )