[Zlib-devel] New and Improved CRC

Nelson H. F. Beebe beebe at math.utah.edu
Mon Apr 29 21:29:02 EDT 2002


I fetched

	http://alumni.caltech.edu/~madler/fastcrc4.tar.gz

unbundled it into a copy of the zlib-1.1.4 distributed, and then
tested it on these platforms:

	Apple PowerPC G3 267MHz	GNU/Linux 2.2.18-4hpmac (Red Hat Linux/PPC 2000 Q4)
	Apple PowerPC G4 267MHz	Darwin 5.3
	Compaq Alpha Sierra	OSF/1 5.0
	Compaq/DEC Alpha	OSF/1 4.0F
	DEC Alpha		GNU/Linux 2.2.19-6.2.1 (Red Hat 6.2)
	HP/Intel IA-64		GNU/Linux 2.2.17-14smp (Red Hat 6.2) [via HP NUE emulator on IA-32]
	IBM PowerPC		AIX 4.2
	IBM SP/2		AIX 4.3.2.0
	Intel Pentium II	FreeBSD 4.4-RELEASE #0
	Intel Pentium III	GNU/Linux 2.4.9-31smp (Red Hat 7.2 (Enigma))
	SGI Origin 200		IRIX 6.5
	Sun SPARC		GNU/Linux 2.2.19-6.2.1 (Red Hat 6.2)
	Sun SPARC		Solaris 2.7
	Sun SPARC		Solaris 2.8

On most of these, the test files consisted of 335 .tar.gz files in our
/usr/local/gnu/src tree.  This is a total of 598,714,223 bytes of
compressed input data, corresponding to about three to four times that
amount of uncompressed data.

The attached scripts were used to test both compression and
decompression with the modified zlib code in minigzip, using gzip and
gunzip to reverse the results, and compare with the original.

There were NO failures detected, so it looks like this new code can be
dropped in without harm.

% cat test-minigzip-1.sh
#! /bin/sh
MINIGZIP=$LB/zlib-1.1.4-fastcrt4/minigzip
OUTFILE=/tmp/test-minigzip.out.$$
FILES="$@"
test -z "$FILES" && FILES=/usr/local/gnu/src/*/*.gz
for f in $FILES
do
        echo ======= $f
        $MINIGZIP -d < $f >$OUTFILE
        gunzip < $f | diff - $OUTFILE
        /bin/rm -f $OUTFILE
done

% cat test-minigzip-2.sh
#! /bin/sh
MINIGZIP=$LB/zlib-1.1.4-fastcrt4/minigzip
OUTFILE=/tmp/test-minigzip.out.$$
OUTFILEGZ=/tmp/test-minigzip.out.$$.gz
FILES="$@"
test -z "$FILES" && FILES=/usr/local/gnu/src/*/*.gz
for f in $FILES
do
        echo ======= $f
        gunzip < $f > $OUTFILE
        $MINIGZIP < $OUTFILE >$OUTFILEGZ
        gunzip < $OUTFILEGZ | diff - $OUTFILE
        /bin/rm -f $OUTFILE $OUTFILEGZ
done

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah                    Internet e-mail: beebe at math.utah.edu  -
- Department of Mathematics, 110 LCB        beebe at acm.org  beebe at computer.org -
- 155 S 1400 E RM 233                       beebe at ieee.org                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah                    Internet e-mail: beebe at math.utah.edu  -
- Department of Mathematics, 110 LCB        beebe at acm.org  beebe at computer.org -
- 155 S 1400 E RM 233                       beebe at ieee.org                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------




More information about the Zlib-devel mailing list