HTTPS clone URL
Subversion checkout URL
brillo-m7-dev brillo-m7-mr-dev brillo-m7-release donut-release donut-release2 eclair-passion-release eclair-release eclair-sholes-release eclair-sholes-release2 froyo-release froyo gingerbread-mr4-release gingerbread-release gingerbread ics-factoryrom-2-release ics-mr0-release ics-mr0 ics-mr1-release ics-mr1 ics-plus-aosp idea133-weekly-release idea133 jb-dev jb-mr0-release jb-mr1-dev-plus-aosp jb-mr1-dev jb-mr1-release jb-mr1.1-dev-plus-aosp jb-mr1.1-dev jb-mr1.1-release jb-mr2-dev jb-mr2-release jb-mr2.0-release jb-mr2.0.0-release jb-release jumper-stable-alt jumper-stable kitkat-cts-dev kitkat-cts-release kitkat-dev kitkat-mr1-release kitkat-mr1.1-release kitkat-mr2-release kitkat-mr2.1-release kitkat-mr2.2-release kitkat-release kitkat-wear l-preview lollipop-cts-release lollipop-dev lollipop-mr1-cts-release lollipop-mr1-dev lollipop-mr1-fi-release lollipop-mr1-release lollipop-mr1-wfc-release lollipop-release lollipop-wear-release marshmallow-cts-release marshmallow-dev marshmallow-dr-dev marshmallow-dr-release marshmallow-release master-soong master tools_r20 tools_r21 tools_r22 tools_r22.2
Nothing to show
Nothing to show
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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 email@example.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