zlib-ng:下一代数据压缩库
项目基础介绍和主要编程语言
zlib-ng是一个开源的数据压缩库,旨在为下一代系统提供优化的压缩和解压缩功能。该项目的主要编程语言是C,它继承了zlib的核心功能,并在此基础上进行了大量的优化和改进。zlib-ng的目标是提供一个与zlib兼容的API,同时支持现代系统的硬件加速和性能优化。
项目核心功能
zlib-ng的核心功能包括:
- zlib兼容API:提供与zlib完全兼容的API,使得现有的基于zlib的应用程序可以无缝迁移到zlib-ng。
- 现代化的API:基于zlib API进行扩展,提供更易于移植的现代C11语法和代码布局。
- 硬件加速支持:支持多种CPU指令集,如SSSE3、AVX2、AVX512、AVX512-VNNI、Neon、VMX和VSX,以实现硬件加速。
- 多种压缩算法:包括deflate、inflate、adler32和crc32等,支持多种压缩和解压缩算法。
- 全面的测试和构建系统:支持CMake和NMake构建系统,并提供全面的CMake单元测试。
项目最近更新的功能
zlib-ng最近更新的功能包括:
- 硬件加速优化:进一步优化了对硬件加速指令集的支持,如AVX512-VNNI和POWER9。
- 新的压缩策略:引入了新的压缩策略,以提高压缩效率和速度。
- 代码清理和优化:对代码进行了清理和优化,移除了过时的代码和冗余的代码路径,提高了代码的可维护性。
- 持续集成改进:改进了GitHub Actions的持续集成流程,增加了对更多平台的支持,如ARM、AARCH64、PPC、PPC64、RISCV、SPARC64和S390x。
- 安全性和稳定性提升:增加了代码覆盖率和模糊测试,以提高项目的安全性和稳定性。
通过这些更新,zlib-ng不仅保持了与zlib的兼容性,还显著提升了性能和可维护性,使其成为现代系统中数据压缩的理想选择。