kusano fc6ab3
This is a patched version of zlib, modified to use
kusano fc6ab3
Pentium-Pro-optimized assembly code in the deflation algorithm. The
kusano fc6ab3
files changed/added by this patch are:
kusano fc6ab3
kusano fc6ab3
README.686
kusano fc6ab3
match.S
kusano fc6ab3
kusano fc6ab3
The speedup that this patch provides varies, depending on whether the
kusano fc6ab3
compiler used to build the original version of zlib falls afoul of the
kusano fc6ab3
PPro's speed traps. My own tests show a speedup of around 10-20% at
kusano fc6ab3
the default compression level, and 20-30% using -9, against a version
kusano fc6ab3
compiled using gcc 2.7.2.3. Your mileage may vary.
kusano fc6ab3
kusano fc6ab3
Note that this code has been tailored for the PPro/PII in particular,
kusano fc6ab3
and will not perform particuarly well on a Pentium.
kusano fc6ab3
kusano fc6ab3
If you are using an assembler other than GNU as, you will have to
kusano fc6ab3
translate match.S to use your assembler's syntax. (Have fun.)
kusano fc6ab3
kusano fc6ab3
Brian Raiter
kusano fc6ab3
breadbox@muppetlabs.com
kusano fc6ab3
April, 1998
kusano fc6ab3
kusano fc6ab3
kusano fc6ab3
Added for zlib 1.1.3:
kusano fc6ab3
kusano fc6ab3
The patches come from
kusano fc6ab3
http://www.muppetlabs.com/~breadbox/software/assembly.html
kusano fc6ab3
kusano fc6ab3
To compile zlib with this asm file, copy match.S to the zlib directory
kusano fc6ab3
then do:
kusano fc6ab3
kusano fc6ab3
CFLAGS="-O3 -DASMV" ./configure
kusano fc6ab3
make OBJA=match.o
kusano fc6ab3
kusano fc6ab3
kusano fc6ab3
Update:
kusano fc6ab3
kusano fc6ab3
I've been ignoring these assembly routines for years, believing that
kusano fc6ab3
gcc's generated code had caught up with it sometime around gcc 2.95
kusano fc6ab3
and the major rearchitecting of the Pentium 4. However, I recently
kusano fc6ab3
learned that, despite what I believed, this code still has some life
kusano fc6ab3
in it. On the Pentium 4 and AMD64 chips, it continues to run about 8%
kusano fc6ab3
faster than the code produced by gcc 4.1.
kusano fc6ab3
kusano fc6ab3
In acknowledgement of its continuing usefulness, I've altered the
kusano fc6ab3
license to match that of the rest of zlib. Share and Enjoy!
kusano fc6ab3
kusano fc6ab3
Brian Raiter
kusano fc6ab3
breadbox@muppetlabs.com
kusano fc6ab3
April, 2007