Uhlelo lokucindezela lwe-OpenZL, oludlula i-Zstd ne-XZ ngokuya ngesivinini kanye nezinga lokucindezela ledatha ehleliwe.

I-Meta* yethule i-OpenZL, ikhithi yamathuluzi yokucindezelwa kwedatha kanye ne-decompression enikeza amazinga okucindezela aphezulu kanye nesivinini kunefomethi ye-Zstd ne-XZ. I-OpenZL yakhelwe ukucindezela okusebenzayo kwamasethi edatha ahlelekile, njengalawo asetshenziswa ekufundeni komshini, kanye nezitolo zedatha eziqukethe izinkambu ezinezinhlobo ezahlukene zolwazi eziphindayo. I-OpenZL ibhalwe nge-C/C++ futhi inomthombo ovulekile ngaphansi kwelayisensi ye-BSD.

Lapho icindezela isizindalwazi esiqukethe ikhathalogi yenkanyezi ye-SAO, i-OpenZL yehlise usayizi wedatha nge-factory engu-2.06, kuyilapho i-algorithm ye-zstd icindezela idatha nge-factory engu-1.31, kanye ne-XZ nge-factory engu-1.64. Ngaphezu kwalokho, i-OpenZL isebenze kahle kakhulu kune-zstd ngesivinini sokuminyanisa ngento engu-2 (203 MB/s uma iqhathaniswa no-115 MB/s), kanye ne-XZ ngesici esingu-65 (203 MB/s uma iqhathaniswa no-3.1 MB/s). Ukunciphisa ku-OpenZL bekuhamba kancane kune-zstd (822 MB/s kuqhathaniswa no-890 MB/s) futhi ngokushesha izikhathi ezingu-27 kune-XZ.

 Uhlelo lokucindezela lwe-OpenZL, oludlula i-Zstd ne-XZ ngokuya ngesivinini kanye nezinga lokucindezela ledatha ehleliwe.

I-OpenZL ayiyona i-algorithm yenhloso evamile futhi ibonisa kuphela imiphumela emihle yedatha enesakhiwo esaziwayo. Ukusebenza kwe-OpenZL kuhlanganisa ukukhiqiza ngokuguquguqukayo isipakishi ngokusekelwe encazelweni yedatha enikeziwe. Lokhu kukhiqiza ikhodi yokucindezela elungiselelwe ifomethi ethile yedatha. I-unpacker yendawo yonke, ehambisana nawo wonke amapaki akhiqiziwe, isetshenziselwa ukucindezelwa.

Ukupakisha nokukhipha kwenziwa kusetshenziswa insiza eyodwa, "zli," noma umtapo wezincwadi we-libopenzl. Isakhiwo sedatha sichazwa ngendlela yamaphrofayili. Lokhu kufaka phakathi isethi yamaphrofayili achazwe ngaphambilini achaza amafomethi okulondoloza avamile. Isibonelo, iphrofayela yefomethi ye-CSV noma idatha egcinwe njenge-array engu-64-bit. Ukucindezela kulula njengokukhetha iphrofayili ngomyalo we-"zli list-profiles" kanye nokuqalisa inqubo yokucindezela ngomyalo othi "zli compress --profile profile_name". Ukuze ukhiphe, vele ugijime "zli decompress."

Ngamafomethi athile, iphrofayela yangokwezifiso kufanele idalwe kusetshenziswa umyalo othi "zli train", okhomba amaphethini kudatha futhi ukhiqize iphrofayela enezinga eliphezulu lokucindezela. Ngokusebenzisa inketho ethi "--pareto-frontier", iphrofayili edaliwe ingathuthukiswa ukuze kusheshiswe ukucindezelwa noma ukucindezelwa, ngezindleko zokucindezelwa. Ulimi Lwencazelo Yedatha Olulula (i-SDDL) lungasetshenziswa ukuchaza amafomethi ayinkimbinkimbi anezakhiwo ezivalelwe futhi achaze ukwakheka kwamafomethi wedatha ngaphakathi kwezakhiwo.

Indlela yokudala amaphakethe alungile isuselwe kusethi yezifaki khodi zakudala, ngayinye yazo esebenza kahle kakhulu ezinhlotsheni ezithile zedatha nokulandelana. Ngokucindezelwa, igrafu yokucubungula idatha ye-acyclic eqondisiwe iyakhiwa, nama-codec njengamanodi nokuhluka kwedatha kufomethi ecutshunguliwe njengamaphethelo. Kuye ngohlobo lwedatha yokufaka, uchungechunge lwamakhodekhi luyakhethwa olucindezela kahle into yedatha engenayo. Ngalolu lungiselelo, unhlokweni wefayela ucindezelwa kusetshenziswa i-codec eyodwa, inkambu yedatha ephelele kusetshenziswa i-codec yesibili, inkambu yesibali ekhulayo kusetshenziswa i-codec yesithathu, kanye nenkambu yedatha yeyunithi yezinhlamvu kusetshenziswa i-codec yesine.

 Uhlelo lokucindezela lwe-OpenZL, oludlula i-Zstd ne-XZ ngokuya ngesivinini kanye nezinga lokucindezela ledatha ehleliwe.


Source: opennet.ru

Engeza amazwana