ΠΠ΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° 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