ΠžΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° crabz 0.7, Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° со повСќС нишки, напишана Π²ΠΎ Rust

Π‘Π΅ΡˆΠ΅ објавСна Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° crabz, која ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ˜Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со повСќС нишки, слично Π½Π° сличната Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° pigz. И Π΄Π²Π΅Ρ‚Π΅ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ Π°Π»Π°Ρ‚ΠΊΠΈ сС Π²Π΅Ρ€Π·ΠΈΠΈ со повСќС нишки Π½Π° gzip, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ˜Π°Π΄Ρ€Π΅Π½ΠΈ систСми. Π‘Π°ΠΌΠΈΠΎΡ‚ Crabz сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΏΠΎ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π΅ напишан Π½Π° програмскиот јазик Rust, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° pigz, напишана Π²ΠΎ C (ΠΈ Π΄Π΅Π»ΡƒΠΌΠ½ΠΎ Π²ΠΎ C++) ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡƒΠ²Π°ΡšΠ΅ Π½Π° пСрформанситС, Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ случаи Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ 50%.

На страницата Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΈΠΌΠ° Π΄Π΅Ρ‚Π°Π»Π½Π° спорСдба Π½Π° Π±Ρ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Π΄Π²Π΅Ρ‚Π΅ ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈ услуги со Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠ»ΡƒΡ‡Π΅Π²ΠΈ ΠΈ користСни ΠΏΠΎΠ·Π°Π΄ΠΈΠ½ΠΈ. ΠœΠ΅Ρ€Π΅ΡšΠ°Ρ‚Π° Π±Π΅Π° Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π½Π° CSV-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΈ ΠΏΠΎΠ» Π³ΠΈΠ³Π°Π±Π°Ρ˜Ρ‚ΠΈ со помош Π½Π° ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° AMD Ryzen 9 3950X 16-Core процСсор со 64 GB DDR4 RAM ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ систСм Ubuntu 20 ΠΊΠ°ΠΊΠΎ тСст ΠΊΠ»ΡƒΠΏΠ°. Π—Π° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π½Π΅ сакаат Π΄Π° Π½ΡƒΡ€ΠΊΠ°Π°Ρ‚ Π²ΠΎ Π΄Π΅Ρ‚Π°Π»Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° пСрформанситС, ΠΈΠ·Π³ΠΎΡ‚Π²Π΅Π½ Π΅ ΠΊΡ€Π°Ρ‚ΠΎΠΊ ΠΈΠ·Π²Π΅ΡˆΡ‚Π°Ρ˜:

  • crabz со ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Π·Π°Π΄Π½ΠΈΠ½Π°Ρ‚Π° zlib Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Π²ΠΎ пСрформанситС со pigz;
  • ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Π·Π°Π΄Π½ΠΈΠ½Π°Ρ‚Π° zlib-ng Π΄ΠΎ Π΅Π΄Π΅Π½ ΠΈ ΠΏΠΎΠ» ΠΏΠ°Ρ‚ΠΈ ΠΏΠΎΠ±Ρ€Π·ΠΎ ΠΎΠ΄ pigz;
  • Crabz со Π·Π°Π΄Π½ΠΈΠ½Π°Ρ‚Π° Π½Π° 'Ρ€Ρ“Π° Π΅ ΠΌΠ°Π»ΠΊΡƒ (5-10%) ΠΏΠΎΠ±Ρ€Π· ΠΎΠ΄ pigz.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅, ΠΏΠΎΠΊΡ€Π°Ρ˜ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠ°Ρ‚Π° Π±Ρ€Π·ΠΈΠ½Π°, crabz, Π²ΠΎ спорСдба со ΠΏΠΈΠ³Π·, Π³ΠΈ ΠΈΠΌΠ° ΠΈ слСднитС прСдности:

  • crabz со Π·Π°Π΄Π½ΠΈΠ½Π°Ρ‚Π° deflate_rust користи ΠΊΠΎΠ΄ цСлосно напишан Π²ΠΎ Rust, ΡˆΡ‚ΠΎ Π΅ посигурно;
  • crabz Π΅ ΠΌΠ΅Ρ“Ρƒ-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Windows, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅ повСќС учСсници;
  • crabz ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° повСќС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ (Gzip, Zlib, Mgzip, BGZF, Raw Deflate ΠΈ Snap).

Иако Π΅ цСлосно Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, crabz Π΅ опишан ΠΎΠ΄ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚ ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Π°Π»Π°Ρ‚ΠΊΠ°Ρ‚Π° CLI ΡˆΡ‚ΠΎ Π³ΠΎ користи ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ гајба GZP.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€