Выпуск crabz 0.7, утыліты для шматструменнага сціску і распакаванні, напісанай на Rust

Адбыўся выпуск утыліты crabz, якая рэалізуе шматструменны сціск і распакаванне дадзеных, аналагічна падобнай утыліце pigz. Абедзве гэтыя ўтыліты ўяўляюць сабой шматструменныя варыянты праграмы gzip, аптымізаваныя для працы на шмат'ядравых сістэмах. Сам жа crabz адрозніваецца тым, што напісаны на мове праграмавання Rust, у адрозненні ад утыліты pigz, напісанай на C (і, часткова, на C++), і дэманструе значны прырост прадукцыйнасці, у некаторых выпадках які дасягае 50%.

На старонцы распрацоўнікаў ёсць падрабязнае параўнанне хуткасці працы абедзвюх утыліт з рознымі ключамі і скарыстанымі бэкендамі. Замеры вырабляліся на паўтарагігабайтавым csv-файле з выкарыстаннем у якасці тэставага стэнда ПК на базе AMD Ryzen 9 3950X 16-Core Processor і з 64 GB DDR4 RAM і на аперацыйнай сістэме Ubuntu 20. Для тых жа, хто не жадае апускацца ў падрабязны падрыхтавана кароткая справаздача:

  • crabz з выкарыстаннем бэкенда zlib ідэнтычны pigz па прадукцыйнасці;
  • з выкарыстаннем бэкенда zlib-ng да паўтара раза хутчэй, чым pigz;
  • crabz з бэкэндам rust нязначна (на 5-10%) хутчэй pigz.

Па словах распрацоўшчыкаў, акрамя больш высокай хуткасці працы, crabz, у параўнанні з pigz, таксама валодае наступнымі перавагамі:

  • crabz з бэкендам deflate_rust выкарыстоўвае код, цалкам напісаны на Rust, што з'яўляецца больш бяспечным;
  • crabz з'яўляецца кросплатформавым і падтрымлівае Windows, што можа прыцягнуць больш удзельнікаў;
  • crabz падтрымлівае больш фарматаў (Gzip, Zlib, Mgzip, BGZF, Raw Deflate і Snap).

Нягледзячы на ​​поўную працаздольнасць, crabz характарызуецца распрацоўшчыкам, як канцэптуальны прататып CLI-інструмента, які выкарыстоўвае crate-пакет GZP.

Крыніца: opennet.ru

Дадаць каментар