| 1 | == Optimizing zlib for ARM |
| 2 | ''by Adenilson Cavalcanti <cavalcantii@gmail.com>'' |
| 3 | |
| 4 | - People ship old libpng versions |
| 5 | - libpng, zlib developed around same time |
| 6 | - NEON simd - mandatory in ARMv8 |
| 7 | - checksums easily optimized with simd instructions by checking sums of elements in blocks. |
| 8 | - adler32, inffast, libpng w/ pallete improved |
| 9 | - 10% - 10x faster |
| 10 | - work being done to optimize zlib is easier than convincing everyone to upstream their work. |
| 11 | - especially in projects like chromium, which have many copies of zlib |
| 12 | - upstreaming optimizations to chromium caused armv6 project to try to use NEON, which broke it |
| 13 | - security fixes in addition to optimizations exist in chromium's zlib |