Crabz 0.7-ի թողարկումը, բազմաթելային սեղմման և ապակոմպրեսիոն գործիք, որը գրված է Rust-ով

Թողարկվել է crabz կոմունալ ծրագիրը, որն իրականացնում է տվյալների բազմաշերտ սեղմում և ապակոմպրեսիա՝ նման pigz-ի նմանատիպ ծրագրին: Այս երկու կոմունալ ծառայություններն էլ gzip-ի բազմաշերտ տարբերակներն են, որոնք օպտիմիզացված են բազմամիջուկ համակարգերում աշխատելու համար: Crabz-ն ինքնին տարբերվում է նրանով, որ այն գրված է Rust ծրագրավորման լեզվով, ի տարբերություն pigz utility-ի՝ գրված C-ով (և մասամբ՝ C++-ով) և ցույց է տալիս կատարողականի զգալի աճ՝ որոշ դեպքերում հասնելով 50%-ի:

Մշակողների էջում կա երկու կոմունալ ծառայությունների արագության մանրամասն համեմատություն՝ օգտագործված տարբեր ստեղներով և հետին մասերով: Չափումները կատարվել են մեկուկես գիգաբայթանոց csv ֆայլի վրա՝ օգտագործելով AMD Ryzen 9 3950X 16 միջուկային պրոցեսորի վրա հիմնված 64 ԳԲ DDR4 RAM և Ubuntu 20 օպերացիոն համակարգ՝ որպես թեստային նստարան: Նրանց համար, ովքեր չեն ցանկանում սուզվել: կատարողականի մանրամասն վերլուծության մեջ պատրաստվել է կարճ հաշվետվություն.

  • crabz-ը, օգտագործելով zlib backend-ը, կատարողականով նույնական է pigz-ին.
  • օգտագործելով zlib-ng backend-ը մինչև մեկուկես անգամ ավելի արագ, քան pigz-ը;
  • crabz-ը ժանգի հետնամասով մի փոքր (5-10%) ավելի արագ է, քան pigz-ը:

Ըստ մշակողների, բացի ավելի բարձր արագությունից, crabz-ը, համեմատած pigz-ի հետ, ունի նաև հետևյալ առավելությունները.

  • crabz-ը deflate_rust backend-ով օգտագործում է Rust-ով ամբողջությամբ գրված կոդը, որն ավելի ապահով է.
  • crabz-ը խաչաձեւ հարթակ է և աջակցում է Windows-ին, որը կարող է ավելի շատ մասնակիցների ներգրավել;
  • crabz-ն աջակցում է ավելի շատ ձևաչափեր (Gzip, Zlib, Mgzip, BGZF, Raw Deflate և Snap):

Չնայած լիովին ֆունկցիոնալ, crabz-ը մշակողի կողմից նկարագրվում է որպես CLI գործիքի հայեցակարգային նախատիպ՝ օգտագործելով GZP crate փաթեթը:

Source: opennet.ru

Добавить комментарий