Release of crabz 0.7, a multi-threaded compression and decompression utility written in Rust

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

Add a comment