Выпуск 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