ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° crabz 0.7, многонишкова ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° компрСсиранС ΠΈ дСкомпрСсиранС, написана Π½Π° Rust

Π‘Π΅ΡˆΠ΅ пусната ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° crabz, която Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° многонишково компрСсиранС ΠΈ дСкомпрСсиранС Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° pigz. И Π΄Π²Π΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ са многонишкови вСрсии Π½Π° gzip, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° многоядрСни систСми. Бамият Crabz сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΏΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π΅ написан Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Rust, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° pigz, написана Π½Π° C (ΠΈ, частично, Π½Π° C++), ΠΈ дСмонстрира Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността, Π² някои случаи достигащо 50%.

На страницата Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ ΠΈΠΌΠ° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ сравнСниС Π½Π° скоростта Π½Π° Π΄Π²Π΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π΅ ΠΈ Π±Π΅ΠΊΠ΅Π½Π΄. Π˜Π·ΠΌΠ΅Ρ€Π²Π°Π½ΠΈΡΡ‚Π° бяха Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΈ Π½Π° csv Ρ„Π°ΠΉΠ» ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° 9-ядрСн процСсор AMD Ryzen 3950 16X с 64 GB DDR4 RAM ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Ubuntu 20 ΠΊΠ°Ρ‚ΠΎ тСстов стСнд.Π—Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ искат Π΄Π° сС Π³ΠΌΡƒΡ€ΠΊΠ°Ρ‚ Π² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π˜Π·Π³ΠΎΡ‚Π²Π΅Π½ Π΅ ΠΊΡ€Π°Ρ‚ΡŠΠΊ Π΄ΠΎΠΊΠ»Π°Π΄:

  • crabz, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ zlib Π±Π΅ΠΊΠ΅Π½Π΄Π°, Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΏΠΎ производитСлност с pigz;
  • ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° zlib-ng Π΄ΠΎ Π΅Π΄ΠΈΠ½ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·ΠΎ ΠΎΡ‚ pigz;
  • crabz с backend Π½Π° rust Π΅ ΠΌΠ°Π»ΠΊΠΎ (5-10%) ΠΏΠΎ-Π±ΡŠΡ€Π· ΠΎΡ‚ pigz.

Π‘ΠΏΠΎΡ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, Π² допълнСниС към ΠΏΠΎ-високата скорост, crabz, Π² сравнСниС с pigz, ΠΈΠΌΠ° ΠΈ слСднитС прСдимства:

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

Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ Π΅ напълно Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½, crabz Π΅ описан ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° CLI инструмСнт, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ ΠΏΠ°ΠΊΠ΅Ρ‚Π° GZP crate.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€