Ngaleupaskeun crabz 0.7, utilitas komprési multi-threaded sareng decompression anu ditulis dina Rust

Utilitas crabz dileupaskeun, anu ngalaksanakeun komprési data multi-threaded sareng decompression, sami sareng utilitas pigz anu sami. Kadua utilitas ieu mangrupikeun versi gzip multi-threaded, dioptimalkeun pikeun ngajalankeun sistem multi-inti. Crabz sorangan béda dina eta ditulis dina basa programming Rust, teu kawas utiliti pigz, ditulis dina C (jeung, sabagean, dina C ++), sarta mendemonstrasikan kanaékan kinerja signifikan, dina sababaraha kasus ngahontal 50%.

Dina halaman pamekar aya perbandingan detil ngeunaan laju duanana utilitas sareng konci anu béda sareng backend anu dianggo. Pangukuran dilakukeun dina file csv hiji satengah gigabyte nganggo PC dumasar kana Prosesor AMD Ryzen 9 3950X 16-Core kalayan 64 GB DDR4 RAM sareng sistem operasi Ubuntu 20 salaku bangku tés. Pikeun anu henteu hoyong teuleum kana analisis lengkep kinerja, Laporan pondok geus disiapkeun:

  • crabz ngagunakeun zlib backend idéntik dina kinerja pigz;
  • ngagunakeun backend zlib-ng nepi ka hiji satengah kali leuwih gancang ti pigz;
  • crabz kalawan backend karat rada (5-10%) gancang ti pigz.

Numutkeun pamekar, salian laju anu langkung luhur, crabz, dibandingkeun sareng pigz, ogé ngagaduhan kaunggulan ieu:

  • crabz kalawan deflate_rust backend ngagunakeun kode sagemblengna ditulis dina Rust, nu leuwih aman;
  • crabz nyaéta cross-platform sareng ngadukung Windows, anu tiasa narik langkung seueur pamilon;
  • crabz ngadukung langkung seueur format (Gzip, Zlib, Mgzip, BGZF, Raw Deflate sareng Snap).

Sanajan fungsina pinuh, crabz digambarkeun ku pamekar salaku prototipe konseptual alat CLI ngagunakeun pakét peti GZP.

sumber: opennet.ru

Tambahkeun komentar