-
-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2.1.0 Beta1 #1475
2.1.0 Beta1 #1475
Conversation
974584d
to
47c95e4
Compare
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## develop #1475 +/- ##
===========================================
- Coverage 83.17% 83.15% -0.02%
===========================================
Files 130 130
Lines 10766 10766
Branches 2765 2765
===========================================
- Hits 8955 8953 -2
- Misses 1136 1138 +2
Partials 675 675
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
Minor typo if this is a prospective public release announcement, VINNI should be VNNI. |
|
This release contains two years of development and improvements to zlib-ng, as well as fixes and changes inherited from zlib. The 2.1.x version series has new targeted minumum buildsystem versions, as detailed on the Wiki https://github.com/zlib-ng/zlib-ng/wiki Buildsystem: - Many improvements to the CMake scripts. - Improved support for detecting memory alignment functions. - Improved support for unaligned access by letting the compiler promote code to unaligned if supported by the CPU. - Remove x86 cpu feature detection for TZCNT, safely fallback to BSF. - Enable using AVX512 intrinsics with GCC <9. Optimizations and Enhancements: - Decompression is a lot faster (56% faster measured on AVX2-capable x86-64) - Compresson is improved for Level 9, at the cost of a little performance. - Compression is improved for Level 3, by switching from deflate_fast to deflate_medium. - Levels 3 and 4 have been reconfigured to provide a better gradual tradeoff for speed/compression between levels 2 and 5. - Deflate_quick (Level 1) has been improved to default to a bigger windowsize and support changing the window size like the other levels. New instruction set optimizations: - Adler32 implementation using AVX512, AVX512-VNNI, VMX. - CRC32-B implementation using VPCLMULQDQ & IBM-Z. - Slide hash implementation using VMX. - Compare256 implementations using SSE2, Neon, & POWER9. - Inflate chunk copying using SSSE3 & VSX. Compatibility and Porting: - CRC-32 computation changes from madler/zlib. zlib-ng/zlib-ng#a6155234 - Compatible and up-to-date with zlib 1.2.13. - Removed the usage of macros in zlib-ng.h, making life easier for languages that want to call the C functions without having the C preprocessor (Python, etc). Improved support more environments: - Apple M1 - vcpkg - Emscripten Testing: - Tests have been converted to use GTest. Many new tests have also been added. - Gbench support has been added to easily benchmark changes to performance-critical functions. Misc: - Several pieces of core code has been restructured or rewritten. - Too many changes to list here, see the git commit log for the full list of changes. Deprecations: - Configure no longer has the full range of tests. - NMake is no longer actively supported and tested, it is now community supported. - See the wiki for minimum build system versions and deprecations https://github.com/zlib-ng/zlib-ng/wiki
This release contains two years of development and improvements to zlib-ng, as well as fixes and changes inherited from zlib.
The 2.1.x version series has new targeted minumum buildsystem versions, as detailed on the Wiki https://github.com/zlib-ng/zlib-ng/wiki
Buildsystem:
Optimizations and Enhancements:
New instruction set optimizations:
Compatibility and Porting:
Improved support more environments:
Testing:
Misc:
Deprecations: