wiki:OptimizingzlibforARM

Version 1 (modified by Jon Davis, 4 years ago) (diff)

--

Optimizing zlib for ARM

by Adenilson Cavalcanti <cavalcantii@gmail.com>

  • People ship old libpng versions
  • libpng, zlib developed around same time
  • NEON simd - mandatory in ARMv8
    • checksums easily optimized with simd instructions by checking sums of elements in blocks.
    • adler32, inffast, libpng w/ pallete improved
    • 10% - 10x faster
  • work being done to optimize zlib is easier than convincing everyone to upstream their work.
    • especially in projects like chromium, which have many copies of zlib
    • upstreaming optimizations to chromium caused armv6 project to try to use NEON, which broke it
    • security fixes in addition to optimizations exist in chromium's zlib