Meta* нь Zstd болон XZ форматтай харьцуулахад илүү өндөр шахалтын хурд, хурдыг санал болгодог өгөгдөл шахах, задлах хэрэгсэл болох OpenZL-ийг нэвтрүүлсэн. OpenZL нь машин сургалтанд ашигладаг бүтэцтэй өгөгдлийн багц, мөн янз бүрийн давтагдах мэдээлэл бүхий талбаруудыг агуулсан мэдээллийн санг үр дүнтэй шахахад зориулагдсан. OpenZL нь C/C++ хэл дээр бичигдсэн бөгөөд BSD лицензийн дагуу нээлттэй эх сурвалжтай.
SAO одон орны оддын каталогийг агуулсан мэдээллийн санг шахахдаа OpenZL нь өгөгдлийн хэмжээг 2.06 дахин багасгасан бол zstd алгоритм нь өгөгдлийг 1.31 дахин, XZ 1.64 дахин багассан. Нэмж дурдахад OpenZL нь шахалтын хурдаараа zstd-ээс 2 дахин (115 МБ/с-ийн эсрэг 203 МБ/с), XZ нь 65 дахин (3.1 МБ/с-ийн эсрэг 203 МБ/с) илүү сайн ажилласан. OpenZL-ийн задрал нь zstd-ээс арай удаан (822 MB/s-ийн эсрэг 890 MB/s) ба XZ-ээс 27 дахин хурдан байсан.

OpenZL нь ерөнхий зориулалтын алгоритм биш бөгөөд зөвхөн мэдэгдэж буй бүтэцтэй өгөгдөл дээр сайн ажилладаг. OpenZL-ийн үйл ажиллагаа нь өгсөн өгөгдлийн тайлбар дээр үндэслэн савлагчийг дасан зохицох байдлаар үүсгэхээс бүрдэнэ. Энэ нь тодорхой өгөгдлийн форматад тохируулсан шахалтын кодыг үүсгэдэг. Бүх үүсгэсэн савлагчидтай нийцтэй бүх нийтийн задлагчийг задлахад ашигладаг.
Савлах, задлах ажлыг "zli" эсвэл libopenzl номын сан ашиглан хийдэг. Өгөгдлийн бүтцийг профайл хэлбэрээр дүрсэлсэн болно. Үүнд ердийн хадгалах форматыг тодорхойлсон урьдчилан тодорхойлсон профайлын багц орно. Жишээлбэл, CSV форматын профайл эсвэл 64 битийн массив хэлбэрээр хадгалагдсан өгөгдөл. Шахах нь "zli list-profiles" командаар профайлыг сонгох, "zli compress --profile profile_name" командаар шахах процессыг эхлүүлэхтэй адил хялбар юм. Багцыг задлахын тулд "zli decompress"-г ажиллуул.
Тодорхой форматын хувьд өгөгдөл дэх хэв маягийг тодорхойлж, оновчтой шахалтын түвшинтэй профайлыг үүсгэдэг "zli train" командыг ашиглан захиалгат профайл үүсгэх ёстой. "--pareto-frontier" сонголтыг ашиглан үүсгэсэн профайлыг шахалтын зардлаар шахах эсвэл задлах ажлыг хурдасгахын тулд оновчтой болгож болно. Энгийн Өгөгдлийн Тайлбарлах Хэл (SDDL) нь үүрлэсэн бүтэцтэй нарийн төвөгтэй форматыг дүрслэх, бүтэц доторх өгөгдлийн форматын байршлыг тодорхойлоход ашиглагдаж болно.
Оновчтой савлагчийг бий болгох арга нь тодорхой төрлийн өгөгдлийн төрөл, дараалалд хамгийн үр дүнтэй байдаг энгийн кодлогчдын багц дээр суурилдаг. Шахалтын хувьд кодлогчийг зангилаа, боловсруулсан форматын өгөгдлийн хувилбаруудыг ирмэг болгон агуулсан, чиглэсэн цикл бус өгөгдөл боловсруулах графикийг үүсгэдэг. Оролтын өгөгдлийн төрлөөс хамааран ирж буй өгөгдлийн элементийг оновчтой шахах кодекуудын гинжийг сонгоно. Энэ зохицуулалтаар файлын толгой хэсгийг нэг кодлогч, бүхэл тоон өгөгдлийн талбарыг хоёр дахь кодлогч, нэмэгдүүлэх тоологч талбарыг гурав дахь кодлогч, мөрийн өгөгдлийн талбарыг дөрөв дэх кодлогч ашиглан шахдаг.

Эх сурвалж: opennet.ru
