Paglabas ng crabz 0.7, isang multi-threaded compression at decompression utility na nakasulat sa Rust

Inilabas ang crabz utility, na nagpapatupad ng multi-threaded data compression at decompression, katulad ng katulad na pigz utility. Pareho sa mga utility na ito ay mga multi-threaded na bersyon ng gzip, na na-optimize upang tumakbo sa mga multi-core system. Ang Crabz mismo ay naiiba dahil ito ay nakasulat sa Rust programming language, hindi katulad ng pigz utility, na nakasulat sa C (at, bahagyang, sa C++), at nagpapakita ng isang makabuluhang pagtaas ng pagganap, sa ilang mga kaso na umaabot sa 50%.

Sa pahina ng mga developer mayroong isang detalyadong paghahambing ng bilis ng parehong mga utility na may iba't ibang mga key at backend na ginamit. Ginawa ang mga sukat sa isa't kalahating gigabyte na csv file gamit ang isang PC na nakabatay sa AMD Ryzen 9 3950X 16-Core Processor na may 64 GB DDR4 RAM at ang Ubuntu 20 operating system bilang test bench. Para sa mga ayaw mag-dive sa isang detalyadong pagsusuri ng pagganap, Isang maikling ulat ang inihanda:

  • crabz gamit ang zlib backend ay magkapareho sa pagganap sa pigz;
  • gamit ang zlib-ng backend hanggang isa at kalahating beses na mas mabilis kaysa sa pigz;
  • Ang crabz na may kalawang na backend ay bahagyang (5-10%) na mas mabilis kaysa sa pigz.

Ayon sa mga developer, bilang karagdagan sa mas mataas na bilis, ang crabz, kung ihahambing sa pigz, ay mayroon ding mga sumusunod na pakinabang:

  • Ang crabz na may deflate_rust backend ay gumagamit ng code na ganap na nakasulat sa Rust, na mas secure;
  • Ang crabz ay cross-platform at sumusuporta sa Windows, na maaaring makaakit ng mas maraming kalahok;
  • Sinusuportahan ng crabz ang higit pang mga format (Gzip, Zlib, Mgzip, BGZF, Raw Deflate at Snap).

Bagama't fully functional, ang crabz ay inilalarawan ng developer bilang isang konseptwal na prototype ng isang CLI tool gamit ang GZP crate package.

Pinagmulan: opennet.ru

Magdagdag ng komento