Meta* විසින් Zstd සහ XZ ආකෘතිවලට වඩා ඉහළ සම්පීඩන අනුපාත සහ වේගයක් ලබා දෙන දත්ත සම්පීඩන සහ විසංයෝජන මෙවලම් කට්ටලයක් වන OpenZL හඳුන්වා දී ඇත. 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) සහ XZ ට වඩා 27 ගුණයකින් වේගවත් විය.

OpenZL යනු සාමාන්ය කාර්ය ඇල්ගොරිතමයක් නොවන අතර දන්නා ව්යුහයක් සහිත දත්ත සඳහා පමණක් හොඳ ප්රතිඵල පෙන්වයි. OpenZL හි ක්රියාකාරිත්වය සමන්විත වන්නේ සපයා ඇති දත්ත විස්තරය මත පදනම්ව අනුවර්තී ලෙස පැකරයක් ජනනය කිරීමෙනි. මෙය නිශ්චිත දත්ත ආකෘතියක් සඳහා ප්රශස්තිකරණය කළ සම්පීඩන කේතය ජනනය කරයි. සියලුම ජනනය කරන ලද ඇසුරුම්කරුවන් සමඟ අනුකූල වන විශ්වීය ඇසුරුම් යන්ත්රයක් විසංයෝජනය සඳහා භාවිතා කරයි.
ඇසුරුම් කිරීම සහ ඉවත් කිරීම සිදු කරනු ලබන්නේ "zli" හෝ libopenzl පුස්තකාලය යන තනි උපයෝගීතාවයක් භාවිතා කරමිනි. දත්ත ව්යුහය පැතිකඩ ආකාරයෙන් විස්තර කෙරේ. මෙයට සාමාන්ය ගබඩා ආකෘති විස්තර කරන පූර්ව නිශ්චිත පැතිකඩ කට්ටලයක් ඇතුළත් වේ. උදාහරණයක් ලෙස, CSV ආකෘතිය සඳහා පැතිකඩක් හෝ 64-bit අරාවක් ලෙස ගබඩා කර ඇති දත්ත. සම්පීඩනය "zli list-profiles" විධානය සමඟ පැතිකඩක් තෝරා "zli compress --profile profile_name" විධානය සමඟ සම්පීඩන ක්රියාවලිය ආරම්භ කිරීම තරම් සරල ය. ඉවත් කිරීමට, "zli decompress" ධාවනය කරන්න.
නිශ්චිත ආකෘති සඳහා, "zli train" විධානය භාවිතයෙන් අභිරුචි පැතිකඩක් නිර්මාණය කළ යුතු අතර, එය දත්තවල රටා හඳුනාගෙන ප්රශස්ත සම්පීඩන මට්ටමක් සහිත පැතිකඩක් ජනනය කරයි. "--pareto-frontier" විකල්පය භාවිතා කරමින්, නිර්මාණය කරන ලද පැතිකඩ සම්පීඩනය හෝ විසංයෝජනය වේගවත් කිරීම සඳහා ප්රශස්තිකරණය කළ හැකිය, සම්පීඩනයේ වියදමින්. සරල දත්ත විස්තර භාෂාව (SDDL) කැදැලි ව්යුහයන් සහිත සංකීර්ණ ආකෘති විස්තර කිරීමට සහ ව්යුහයන් තුළ දත්ත ආකෘතිවල පිරිසැලසුම නිර්වචනය කිරීමට භාවිතා කළ හැකිය.
ප්රශස්ත පැකර් නිර්මාණය කිරීමේ ක්රමය පදනම් වී ඇත්තේ ප්රාථමික කේතක කට්ටලයක් මත වන අතර, ඒ සෑම එකක්ම නිශ්චිත දත්ත වර්ග සහ අනුපිළිවෙල සඳහා වඩාත් ඵලදායී වේ. සම්පීඩනය සඳහා, යොමු කරන ලද ඇසික්ලික් දත්ත සැකසුම් ප්රස්ථාරයක් සාදනු ලබන අතර, කෝඩෙක් නෝඩ් ලෙසත්, සැකසූ ආකෘතියේ දත්ත ප්රභේද දාර ලෙසත් යොදා ගනී. ආදාන දත්ත වර්ගය මත පදනම්ව, එන දත්ත මූලද්රව්යය ප්රශස්ත ලෙස සම්පීඩනය කරන කෝඩෙක් දාමයක් තෝරා ගනු ලැබේ. මෙම සැකැස්ම සමඟ, ගොනු ශීර්ෂය එක් කෝඩෙක් එකක්, දෙවන කෝඩෙක් එකක් භාවිතා කරමින් පූර්ණ සංඛ්යා දත්ත ක්ෂේත්රය, තුන්වන කෝඩෙක් එකක් භාවිතා කරමින් වර්ධක කවුන්ටර ක්ෂේත්රය සහ සිව්වන කෝඩෙක් භාවිතා කරමින් නූල් දත්ත ක්ෂේත්රය සම්පීඩනය කෙරේ.

මූලාශ්රය: opennet.ru
