RSS | Module Info | Add a review of Digest-Crc32

1 out of 1 found this review helpful:

Digest::Crc32 / Digest-Crc32 (0.01) *

Documentation confuses CRC32 and Crc32.

Interface is object oriented without any excuse or justification.

and it is SLOOOOOOOOOOOOOOOOOOOOOOOOOOOOW.

More than 2000 times slower than the String::CRC32 module.

the following benchmark is running against a 168854 byte MP3 file:

perl -le '
use strict;
my $file = shift;
my $data = do{open my $fh, $file or die;local $/;<$fh>};
use Digest::Crc32;
use String::CRC32;
my $digcrc = Digest::Crc32->new;
use Benchmark;
timethese(-60,
{
DIG => sub { $digcrc->strcrc32($data) },
STR => sub { crc32($data) },
})' current/pubc/aaam.mp3
Benchmark:
running
DIG, STR
for at least 60 CPU seconds
...

DIG: 61 wallclock secs (60.27 usr + 0.00 sys = 60.27 CPU) @ 0.88/s (n=53)

STR: 64 wallclock secs (62.86 usr + 0.00 sys = 62.86 CPU) @ 2170.39/s (n=136431)

Andreas Koenig - 2005-03-18 07:38:17
Was this review helpful to you?  Yes No

Digest-Crc32 (0.01) ***

What is the point of this module?

There is already a Digest::CRC module (which it refers to in the SEE ALSO section) but it says nothing about how or why this module is more appropriate than that or the several other CRC modules.

It has a negligable test (only tests the string "foo") and doesn't attempt to account for portential endianess or sign issues.

Robert Rothenberg - 2004-12-29 14:27:01
Was this review helpful to you?  Yes No


the camel