News: 0001595331

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Zlib-ng 2.3.1 Released With More CPU Performance Optimizations

([Free Software] 69 Minutes Ago zlib-ng 2.3.1)


Zlib-ng 2.3.1 is out today as the first stable release in the v2.3 series for this Zlib replacement that carries a variety of performance optimizations for speedier compression/decompression.

Zlib-ng 2.3.1 brings yet more performance optimizations and one of the big drivers to this new release is the Corba CRC32 code:

"The biggest addition is the Chorba CRC32 code, this is a major improvement to crc32 calculation speed for pre-PCLMUL (or equivalent) cpus. For now, we have 3 variants of Chorba: Generic, SSE2 and SSE4.1. We have also removed our detection and usage of the various aligned alloc functions, because we have to support an application-provided alloc function, and thus we have to check and fix buffer alignments anyway, so now we just use malloc() if none is provided.

The gzopen-related init code has been rewritten to clean up and unify the gzread and gzwrite behavior. Several malloc calls removed, places in the gz* code with malloc calls is down from 7 to 4 places (using gzopen will now only result in 2-3 calls to malloc total).

The reason for releasing 2.3.x instead of another 2.2 release is the introduction of Chorba CRC32, rewritten gzopen init code, the increased CMake version requirement, and the removal of NMake project files."

The new zlib-ng release also adds an AVX-512 version of COMPARE256, various AVX2 improvements, and other CPU optimizations.

Per [1]this discussion , the Zlib-ng 2.3 performance is looking quite appealing compared to Zlib and prior Zlib-ng releases:

Zlib-ng 2.3.1 can be downloaded from [2]GitHub .



[1] https://github.com/zlib-ng/zlib-ng/discussions/2022

[2] https://github.com/zlib-ng/zlib-ng/releases/tag/2.3.1



Jargon Coiner (#6)

An irregular feature that aims to give you advance warning of new jargon
that we've just made up.

* STOP MIRAGE: Trying to click on an imaginary Stop button on a program's
toolbar after doing something you didn't want to. Usually caused as the
result of excessive use of Netscape.

* YA-PREFIX: Putting "another" or "yet another" in front of a name or
tacking "YA" in front of an acronym.

Example: "We could ya-prefix this fortune by titling it 'Yet Another
Lame List of Fabricated Jargon'."

* DOMAINEERING: Using a service like Netcraft to determine what operating
system and webserver a particular domain is running.

* NOT-A-SALTINE EXPLANATION: The canned response given to someone who
uses the term "hacker" instead of "cracker".