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 )