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