The release of the utility crabz has taken place, implementing multithreaded compression and decompression of data, similar to the utility pigz. Both of these utilities are multithreaded versions of the gzip program, optimized for operation on multi-core systems. Crabz, however, is written in the Rust programming language, unlike pigz, which is written in C (and partly in C++), and demonstrates a significant performance increase, in some cases reaching 50%.
The developers' page contains a detailed comparison of the performance of both utilities with various keys and backends used. Measurements were made on a 1.5-gigabyte CSV file using a test setup based on an AMD Ryzen 9 3950X 16-Core Processor with 64 GB DDR4 RAM and running the Ubuntu 20 operating system. For those who do not want to delve into a detailed performance analysis, a brief report has been prepared:
- Crabz using the zlib backend is identical to pigz in performance;
- Using the zlib-ng backend is up to one and a half times faster than pigz;
- Crabz with the rust backend is slightly (by 5-10%) faster than pigz.
According to the developers, in addition to higher speed, crabz, compared to pigz, also has the following advantages:
- Crabz with the deflate_rust backend uses code completely written in Rust, which is more secure;
- Crabz is cross-platform and supports Windows, which may attract more users;
- Crabz supports more formats (Gzip, Zlib, Mgzip, BGZF, Raw Deflate, and Snap).
Despite being fully functional, crabz is characterized by the developer as a conceptual prototype of a CLI tool that uses the crate package GZP.
Source: opennet.ru
