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