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