diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-10-28 07:22:42 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2005-10-28 07:22:42 +0000 |
commit | 959f7df23aaf172105d41c7d5d7993ad7da66395 (patch) | |
tree | c373d46aa90c01bc6e002a8b1afe781e4f97b8e1 /cpukit/zlib/contrib/asm586/README.586 | |
parent | Import from zlib-1.2.4 (diff) | |
download | rtems-959f7df23aaf172105d41c7d5d7993ad7da66395.tar.bz2 |
Import of zlib-1.2.2.2.tar.gz
Diffstat (limited to 'cpukit/zlib/contrib/asm586/README.586')
-rw-r--r-- | cpukit/zlib/contrib/asm586/README.586 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cpukit/zlib/contrib/asm586/README.586 b/cpukit/zlib/contrib/asm586/README.586 new file mode 100644 index 0000000000..6bb78f3206 --- /dev/null +++ b/cpukit/zlib/contrib/asm586/README.586 @@ -0,0 +1,43 @@ +This is a patched version of zlib modified to use +Pentium-optimized assembly code in the deflation algorithm. The files +changed/added by this patch are: + +README.586 +match.S + +The effectiveness of these modifications is a bit marginal, as the the +program's bottleneck seems to be mostly L1-cache contention, for which +there is no real way to work around without rewriting the basic +algorithm. The speedup on average is around 5-10% (which is generally +less than the amount of variance between subsequent executions). +However, when used at level 9 compression, the cache contention can +drop enough for the assembly version to achieve 10-20% speedup (and +sometimes more, depending on the amount of overall redundancy in the +files). Even here, though, cache contention can still be the limiting +factor, depending on the nature of the program using the zlib library. +This may also mean that better improvements will be seen on a Pentium +with MMX, which suffers much less from L1-cache contention, but I have +not yet verified this. + +Note that this code has been tailored for the Pentium in particular, +and will not perform well on the Pentium Pro (due to the use of a +partial register in the inner loop). + +If you are using an assembler other than GNU as, you will have to +translate match.S to use your assembler's syntax. (Have fun.) + +Brian Raiter +breadbox@muppetlabs.com +April, 1998 + + +Added for zlib 1.1.3: + +The patches come from +http://www.muppetlabs.com/~breadbox/software/assembly.html + +To compile zlib with this asm file, copy match.S to the zlib directory +then do: + +CFLAGS="-O3 -DASMV" ./configure +make OBJA=match.o |