The release of the crabz utility, which implements multi-threaded compression and decompression of data, is similar to that of the pigz utility. Both of these utilities are multi-threaded versions of the gzip program, optimized for multi-core systems. Crabz itself differs in that it is written in the Rust programming language, unlike the pigz utility written in C (and, partially, in C ++), and shows a significant performance increase, in some cases reaching 50%.
The developers page has a detailed comparison of the speed of both utilities with different keys and backends used. Measurements were made on a one and a half gigabyte csv file using as a test bench a PC based on AMD Ryzen 9 3950X 16-Core Processor and with 64 GB DDR4 RAM and on the Ubuntu 20 operating system. For those who do not want to dive into a detailed analysis of performance, short report prepared:
- crabz using the zlib backend is identical to pigz in performance;
- using zlib-ng backend up to XNUMX times faster than pigz;
- crabz with rust backend is marginally (5-10%) faster than pigz.
According to the developers, in addition to higher speed, crabz, in comparison with pigz, also has the following advantages:
- crabz with a deflate_rust backend uses code written entirely in Rust, which is more secure;
- crabz is cross-platform and supports Windows, which can attract more contributors;
- crabz supports more formats (Gzip, Zlib, Mgzip, BGZF, Raw Deflate and Snap).
Although fully functional, crabz is characterized by the developer as a conceptual prototype of a CLI tool using the GZP crate package.
Source: opennet.ru