Π‘ΠΎΡΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊ ΡΡΠΈΠ»ΠΈΡΡ 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