OpenZL систСма Π·Π° компрСсия, която ΠΏΡ€Π΅Π²ΡŠΠ·Ρ…ΠΎΠΆΠ΄Π° Zstd ΠΈ XZ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° скоростта ΠΈ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия Π½Π° структурирани Π΄Π°Π½Π½ΠΈ

Meta* прСдстави OpenZL, инструмСнтариум Π·Π° компрСсиранС ΠΈ дСкомпрСсиранС Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΏΠΎ-високи Π½ΠΈΠ²Π° Π½Π° компрСсия ΠΈ скорост ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ Zstd ΠΈ XZ. OpenZL Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π·Π° Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ компрСсиранС Π½Π° структурирани Π½Π°Π±ΠΎΡ€ΠΈ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΡ‚ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ ΠΏΠΎΠ»Π΅Ρ‚Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ повтарящи сС Ρ‚ΠΈΠΏΠΎΠ²Π΅ информация. OpenZL Π΅ написан Π½Π° C/C++ ΠΈ Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ BSD Π»ΠΈΡ†Π΅Π½Π·.

ΠŸΡ€ΠΈ компрСсиранС Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰Π° астрономичСския Π·Π²Π΅Π·Π΄Π΅Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° SAO, OpenZL Π½Π°ΠΌΠ°Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ с ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ 2.06, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ zstd компрСсира Π΄Π°Π½Π½ΠΈΡ‚Π΅ с ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ 1.31, Π° XZ с ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ 1.64. ОсвСн Ρ‚ΠΎΠ²Π°, OpenZL ΠΏΡ€Π΅Π²ΡŠΠ·Ρ…ΠΎΠΆΠ΄Π° zstd ΠΏΠΎ скорост Π½Π° компрСсия с ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ 2 (203 MB/s срСщу 115 MB/s) ΠΈ XZ с ΠΊΠΎΠ΅Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ 65 (203 MB/s срСщу 3.1 MB/s). ДСкомпрСсията Π² OpenZL бСшС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±Π°Π²Π½Π° ΠΎΡ‚ zstd (822 MB/s срСщу 890 MB/s) ΠΈ 27 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·Π° ΠΎΡ‚ XZ.

 OpenZL систСма Π·Π° компрСсия, която ΠΏΡ€Π΅Π²ΡŠΠ·Ρ…ΠΎΠΆΠ΄Π° Zstd ΠΈ XZ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° скоростта ΠΈ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия Π½Π° структурирани Π΄Π°Π½Π½ΠΈ

OpenZL Π½Π΅ Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ с ΠΎΠ±Ρ‰ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° Π΄ΠΎΠ±Ρ€ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈ само Π·Π° Π΄Π°Π½Π½ΠΈ с извСстна структура. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° OpenZL сС ΡΡŠΡΡ‚ΠΎΠΈ Π² Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Ρ‰ Ρ„Π°ΠΉΠ» въз основа Π½Π° прСдоставСното описаниС Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π’ΠΎΠ²Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΊΠΎΠ΄ Π·Π° компрСсия, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° спСцифичСн Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅. Π—Π° дСкомпрСсия сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° унивСрсалСн Ρ€Π°Π·ΠΏΠ°ΠΊΠΈΡ€Π°Ρ‰ Ρ„Π°ΠΉΠ», ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с всички Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Ρ‰ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

ΠžΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ ΠΈ Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΅Π΄Π½Π° СдинствСна ΠΏΠΎΠΌΠΎΡ‰Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, β€žzliβ€œ, ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libopenzl. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π΅ описана ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ, описващи Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅. НапримСр, ΠΏΡ€ΠΎΡ„ΠΈΠ» Π·Π° CSV Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½ΠΈ ΠΊΠ°Ρ‚ΠΎ 64-Π±ΠΈΡ‚ΠΎΠ² масив. ΠšΠΎΠΌΠΏΡ€Π΅ΡΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° просто, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ„ΠΈΠ» с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žzli list-profilesβ€œ ΠΈ стартиранСто Π½Π° процСса Π½Π° компрСсиранС с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žzli compress --profile profile_nameβ€œ. Π—Π° Π΄Π° Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚Π΅, просто ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ β€žzli decompressβ€œ.

Π—Π° спСцифични Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ трябва Π΄Π° сС създадС пСрсонализиран ΠΏΡ€ΠΎΡ„ΠΈΠ» с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° "zli train", която ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° ΠΏΡ€ΠΎΡ„ΠΈΠ» с ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° компрСсия. Π‘ ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° опцията "--pareto-frontier" ΡΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° ускоряванС Π½Π° компрСсията ΠΈΠ»ΠΈ дСкомпрСсията, Π·Π° смСтка Π½Π° компрСсията. Simple Data Description Language (SDDL) ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° описаниС Π½Π° слоТни Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ с Π²Π»ΠΎΠΆΠ΅Π½ΠΈ структури ΠΈ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ‚Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° структуритС.

ΠœΠ΅Ρ‚ΠΎΠ΄ΡŠΡ‚ Π·Π° създаванС Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Ρ‰ΠΈ устройства сС основава Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΈ Π΅Π½ΠΊΠΎΠ΄Π΅Ρ€ΠΈ, всСки ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ Π΅ Π½Π°ΠΉ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π·Π° спСцифични Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ ΠΈ послСдоватСлности. Π—Π° компрСсия сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° насочСн Π°Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅Π½ Π³Ρ€Π°Ρ„ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, с ΠΊΠΎΠ΄Π΅Ρ†ΠΈ ΠΊΠ°Ρ‚ΠΎ възли ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² обработвания Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π±Ρ€Π°. Π’ зависимост ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π½Π° Π²Ρ…ΠΎΠ΄Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ сС ΠΈΠ·Π±ΠΈΡ€Π° Π²Π΅Ρ€ΠΈΠ³Π° ΠΎΡ‚ ΠΊΠΎΠ΄Π΅Ρ†ΠΈ, която ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ компрСсира входящия Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. ΠŸΡ€ΠΈ Ρ‚Π°Π·ΠΈ ΠΏΠΎΠ΄Ρ€Π΅Π΄Π±Π°, Π·Π°Π³Π»Π°Π²Π½Π°Ρ‚Π° част Π½Π° Ρ„Π°ΠΉΠ»Π° сС компрСсира с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π΅Π΄ΠΈΠ½ ΠΊΠΎΠ΄Π΅ΠΊ, цСлочислСното ΠΏΠΎΠ»Π΅ с Π΄Π°Π½Π½ΠΈ - с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²Ρ‚ΠΎΡ€ΠΈ ΠΊΠΎΠ΄Π΅ΠΊ, ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΠΎΠ»Π΅ Π½Π° брояча - с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‚Ρ€Π΅Ρ‚ΠΈ ΠΊΠΎΠ΄Π΅ΠΊ, Π° ΠΏΠΎΠ»Π΅Ρ‚ΠΎ Π·Π° Π½ΠΈΠ·ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ - с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‡Π΅Ρ‚Π²ΡŠΡ€Ρ‚ΠΈ ΠΊΠΎΠ΄Π΅ΠΊ.

 OpenZL систСма Π·Π° компрСсия, която ΠΏΡ€Π΅Π²ΡŠΠ·Ρ…ΠΎΠΆΠ΄Π° Zstd ΠΈ XZ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° скоростта ΠΈ Π½ΠΈΠ²ΠΎΡ‚ΠΎ Π½Π° компрСсия Π½Π° структурирани Π΄Π°Π½Π½ΠΈ


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

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