結果
$ perl bench-digest.pl 100000000
Benchmark: timing 100000000 iterations of MD5, SHA-256...
MD5: 40 wallclock secs (40.22 usr + 0.02 sys = 40.24 CPU) @ 2485089.46/s (n=100000000)
SHA-256: 392 wallclock secs (391.78 usr + 0.30 sys = 392.08 CPU) @ 255049.99/s (n=100000000)
コード
#!/usr/bin/perl
use strict;
use warnings;
use Benchmark qw( timethese );
use Digest::MD5 qw( md5_hex );
use Digest::SHA qw( sha256_hex );
my $count = shift(@ARGV) || 1000000;
my $tmp = 0;
timethese($count, {
' MD5' => sub { md5_hex( ++ $tmp ) },
'SHA-256' => sub { sha256_hex( ++ $tmp ) },
});
$ perl -v
This is perl 5, version 18, subversion 4 (v5.18.4) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)
Copyright 1987-2013, Larry Wall
...略...