r2678 - in /packages/libstring-crc32-perl/branches/upstream/current:
CRC32.pm CRC32.xs Makefile.PL README
eloy at users.alioth.debian.org
eloy at users.alioth.debian.org
Sat May 6 11:07:31 UTC 2006
Author: eloy
Date: Sat May 6 11:07:30 2006
New Revision: 2678
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=2678
Log:
Load /tmp/tmp.uwQAGq8138/libstring-crc32-perl-1.4 into
packages/libstring-crc32-perl/branches/upstream/current.
Modified:
packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm
packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs
packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL
packages/libstring-crc32-perl/branches/upstream/current/README
Modified: packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/CRC32.pm Sat May 6 11:07:30 2006
@@ -6,7 +6,7 @@
@ISA = qw(Exporter DynaLoader);
-$VERSION = 1.3;
+$VERSION = 1.4;
# Items to export into callers namespace by default
@EXPORT = qw(crc32);
Modified: packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/CRC32.xs Sat May 6 11:07:30 2006
@@ -90,15 +90,21 @@
return( crc^0xFFFFFFFF );
}
+#define BUFSIZE 32768
+
U32
getcrc_fp( PerlIO *fp, U32 crcinit )
{
register U32 crc;
- int c;
+ register U16 len;
+ unsigned char buf[BUFSIZE];
crc = crcinit^0xFFFFFFFF;
- while( (c=PerlIO_getc(fp)) != EOF ) {
- crc = ((crc>>8) & 0x00FFFFFF) ^ crcTable[ (crc^c) & 0xFF ];
+ while((len = PerlIO_read(fp, buf, BUFSIZE)) > 0 ) {
+ unsigned char * p = buf;
+ do {
+ crc = ((crc >> 8) & 0x00FFFFFF) ^ crcTable[(unsigned char)( (crc & 0xff) ^ *(p++) )];
+ } while (--len);
}
return( crc^0xFFFFFFFF );
}
@@ -157,4 +163,4 @@
sv = newSV(0);
sv_setuv(sv, (UV)rv);
PUSHs(sv_2mortal(sv));
- }
+ }
Modified: packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/Makefile.PL Sat May 6 11:07:30 2006
@@ -6,7 +6,7 @@
WriteMakefile(
'NAME' => 'String::CRC32',
'DISTNAME' => 'String-CRC32',
- 'VERSION' => '1.3',
+ 'VERSION' => '1.4',
'OBJECT' => 'CRC32.o',
'dist' => {COMPRESS=>'gzip', SUFFIX=>'gz'}
);
Modified: packages/libstring-crc32-perl/branches/upstream/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libstring-crc32-perl/branches/upstream/current/README?rev=2678&op=diff
==============================================================================
--- packages/libstring-crc32-perl/branches/upstream/current/README (original)
+++ packages/libstring-crc32-perl/branches/upstream/current/README Sat May 6 11:07:30 2006
@@ -19,6 +19,8 @@
"make install"
If you find any bugs, please send me a good description (or a patch ;-) ).
+Thanks to s0lar(at)gmx.li who sent me a patch to replace PerlIO_getc with
+PerlIO_read to improve performance.
Have fun,
Soenke J. Peters
More information about the Pkg-perl-cvs-commits
mailing list