Skip to content

Commit

Permalink
v1.12
Browse files Browse the repository at this point in the history
  • Loading branch information
ebiggers committed Jun 12, 2022
1 parent fe903f6 commit 6b5b571
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 2 deletions.
37 changes: 37 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# libdeflate release notes

## Version 1.12

This release focuses on improving the performance of the CRC-32 and Adler-32
checksum algorithms on x86 and ARM (both 32-bit and 64-bit).

* Build updates:

* Fixed building libdeflate on Apple platforms.

* For Visual Studio builds, Visual Studio 2015 or later is now required.

* CRC-32 algorithm updates:

* Improved CRC-32 performance on short inputs on x86 and ARM.

* Improved CRC-32 performance on Apple Silicon Macs by using a 12-way pmull
implementation. Performance on large inputs on M1 is now about 67 GB/s,
compared to 8 GB/s before, or 31 GB/s with the Apple-provided zlib.

* Improved CRC-32 performance on some other ARM CPUs by reworking the code so
that multiple crc32 instructions can be issued in parallel.

* Improved CRC-32 performance on some x86 CPUs by increasing the stride length
of the pclmul implementation.

* Adler-32 algorithm updates:

* Improved Adler-32 performance on some x86 CPUs by optimizing the AVX-2
implementation. E.g., performance on Zen 1 improved from 19 to 30 GB/s, and
on Ice Lake from 35 to 41 GB/s (if the AVX-512 implementation is excluded).

* Removed the AVX-512 implementation of Adler-32 to avoid CPU frequency
downclocking, and because the AVX-2 implementation was made faster.

* Improved Adler-32 performance on some ARM CPUs by optimizing the NEON
implementation. E.g., Apple M1 improved from about 36 to 52 GB/s.

## Version 1.11

* Library updates:
Expand Down
4 changes: 2 additions & 2 deletions libdeflate.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ extern "C" {
#endif

#define LIBDEFLATE_VERSION_MAJOR 1
#define LIBDEFLATE_VERSION_MINOR 11
#define LIBDEFLATE_VERSION_STRING "1.11"
#define LIBDEFLATE_VERSION_MINOR 12
#define LIBDEFLATE_VERSION_STRING "1.12"

#include <stddef.h>
#include <stdint.h>
Expand Down

0 comments on commit 6b5b571

Please sign in to comment.