summaryrefslogtreecommitdiff
path: root/third_party/zlib/contrib/asm586/README.586
diff options
context:
space:
mode:
authorIra Cooper <ira@samba.org>2014-07-22 21:26:40 -0700
committerIra Cooper <ira@samba.org>2014-08-09 18:26:16 +0200
commite8e85689756eaf74e82f55b8ae6f706b430b01cd (patch)
treed4d39094f46bb834683649d0aad3d9a0e785e55c /third_party/zlib/contrib/asm586/README.586
parentea3d62eea980348e73d6eeb870f36d0908ab42c3 (diff)
downloadsamba-e8e85689756eaf74e82f55b8ae6f706b430b01cd.tar.gz
third_party/zlib: Initial copy of zlib.
Signed-off-by: Ira Cooper <ira@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'third_party/zlib/contrib/asm586/README.586')
-rw-r--r--third_party/zlib/contrib/asm586/README.58643
1 files changed, 43 insertions, 0 deletions
diff --git a/third_party/zlib/contrib/asm586/README.586 b/third_party/zlib/contrib/asm586/README.586
new file mode 100644
index 00000000000..6bb78f32069
--- /dev/null
+++ b/third_party/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