Skip to content

Latest commit

 

History

History
 
 

zlib

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

zlib

Drop in replacement for zlib 1.2.11 with optimizations from various sources.

This fork is based on the official zlib repository: https://github.com/madler/zlib

3rd Party Patches

Additional changes

  • Support and optimizations for MSVC15 compiler
    Support for _M_ARM64
    Use __forceinline

  • Use tzcnt instead of bsf
    This improves performance for AMD CPUs

  • Implementation optimized for modern CPUs (Intel Nehalem)
    Removed alignment loop in crc32
    Adds temporary in crc32_little calcuation
    Less manual unrolling

  • Others
    Optimized insert_string loop

New features

  • General purpose crc32 interface
    Based on Intel's PCLMULQDQ crc32 implementation.
    New functions:
    crc32_init
    crc32_update
    crc32_final
    Brings ~200% performance improvement over the original zlib crc32 implementation

Performance

The performance results and pre-built binaries can be found here: https://github.com/matbech/zlib-perf