{"id":170618,"date":"2026-05-11T18:24:52","date_gmt":"2026-05-11T16:24:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/openzl-0-2-0"},"modified":"2026-05-11T18:24:52","modified_gmt":"2026-05-11T16:24:53","slug":"openzl-0-2-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sl\/blog\/news\/openzl-0-2-0","title":{"rendered":"OpenZL 0.2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23395\/original.png\">           <img decoding=\"async\" alt=\"OpenZL 0.2.0\" src=\"\/wp-content\/uploads\/2026\/05\/5a95eacd080df4ddd86f1cc2d2af0762.jpg\" style=\"display:block;margin: 0 auto;\" \/>         <\/a>                <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23396\/original.png\">           <img decoding=\"async\" alt=\"OpenZL 0.2.0\" src=\"\/wp-content\/uploads\/2026\/05\/e654044b14efa48eb39324fa8a242458.jpg\" style=\"display:block;margin: 0 auto;\" \/>         <\/a>                                              <noindex>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23395\/original.png\" class=\"active\"><\/a><\/noindex>                                                      <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23396\/original.png\"><\/a>                                     <noindex><\/p>\n<p>Po sedmih mesecih razvoja je iz\u0161el 0.2.0 okvira. <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, namenjen ustvarjanju brezizgubnih podatkovnih kompresorjev.<\/p>\n<p><\/noindex> <\/p>\n<p>Okvir je sestavljen iz osnovne knji\u017enice in orodij za ustvarjanje specializiranih kompresorjev, opisanih v jeziku <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Za ustvarjanje dobrega specializiranega kompresorja sta dva koraka:<\/p>\n<ol>\n<li>Analiza podatkov za pridobitev strukture.<\/li>\n<li>Uporaba dobrih backend kompresorjev, ki uporabljajo pridobljeno strukturo za dosego dobre kompresije.<\/li>\n<\/ol>\n<p>OpenZL ponuja orodja za oba koraka.<\/p>\n<p>Projekt je napisan v jeziku C in C++ ter je na voljo pod BSD licenco.<\/p>\n<h5>Glavne promene<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL je bil popolnoma predelan od za\u010detka, da bi dosegel zasnovane cilje. Medtem ko je bila za\u010detna demo razli\u010dica poenostavljena okolica za izvajanje, je SDDL2 - to je polnovreden prevajalnik: sintakti\u010dni analizator predaja podatke semanti\u010dnemu analizatorju, ta pa predaja tipizirano abstraktno sintakti\u010dno drevo (AST) optimizatorju, ki upravlja z generatorjem kode, ki generira bajtno kodo virtualne naprave.<\/p>\n<p>Klju\u010dni rezultat je takoj\u0161nja sintakti\u010dna analiza. Ko je mesto zapisa mogo\u010de popolnoma dolo\u010diti le na podlagi parametrov in konstant, motor preide neposredno na katero koli polje, ne da bi skeniral prej\u0161nje bajte, kar omogo\u010da dostop brez kopiranja in \u0161irino pasu ve\u010d gigabajtov\/sekundo.<\/p>\n<p>Sam jezik se je razvijal skupaj z naborom orodij. Zdaj podpira bloke when za pogojna mesta, parametri\u010dne in anonimne zapise, dostop do \u010dlanov polj zapisa, pa tudi bitne in logi\u010dne operacije.<\/p>\n<p>Kar zadeva udobje razvijalca, faza semanti\u010dne analize zdaj odkrije nejasne reference, nepravilnosti tipov in napake arnosti v fazi prevajanja - z ozna\u010devanjem lokacije v izvorni kodi - ne med izvajanjem, poleg tega pa je bilo izdano raz\u0161iritev za VS Code za osvetlitev sintakse datotek .sddl.<\/p>\n<p><strong>Nov vgrajen kodek LZ<\/strong><\/p>\n<p>OpenZL zdaj vklju\u010duje lastni LZ kodek, predstavljen kot ZL_GRAPH_LZ, ter profil sekven\u010dne kompresije v orodju zli. Delo na kodeku se nadaljuje: poteka \u0161iritev funkcij in izbolj\u0161anje zmogljivosti ob obdelavi majhnih vhodnih podatkov. Trenutno podpira funkcionalnost, ekvivalentno zstd ravni 1, z velikostjo okna kompresije 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL omogo\u010da ponovno na\u010drtovanje vsakega koraka LZ cevovoda za pove\u010danje hitrosti. Njegova grafi\u010dna arhitektura prav tako omogo\u010da kombiniranje korakov entropijskega kodiranja, namesto da bi uporabljali enoten cevovod, ki je enako dober za vse scenarije. Nato lahko ve\u010d korakov zdru\u017eimo v eno operacijo za pove\u010danje hitrosti obdelave. To omogo\u010da, da OpenZL dose\u017ee 10% vi\u0161jo hitrost kompresije in 70% vi\u0161jo hitrost dekompresije v primerjavi z Zstandard ravni 1 na testu Silesia <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">v na\u0161ih testih<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompresor<\/strong><\/th>\n<th><strong>Razmerje kompresije<\/strong><\/th>\n<th><strong>Hitrost kompresije<\/strong><\/th>\n<th><strong>Hitrost dekompresije<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ raven 1<\/td>\n<td>2.74<\/td>\n<td>466 MB\/s<\/td>\n<td>2288 MB\/s<\/td>\n<\/tr>\n<tr>\n<td>Zstd raven 1 z velikostjo okna 64K<\/td>\n<td>2.74<\/td>\n<td>419 MB\/s<\/td>\n<td>1254 MB\/s<\/td>\n<\/tr>\n<tr>\n<td>Zstd raven 1<\/td>\n<td>2.89<\/td>\n<td>424 MB\/s<\/td>\n<td>1345 MB\/s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Podpora za zelo velike vhodne podatke<\/strong><\/p>\n<p>zli zdaj podpira obdelavo ogromnih vhodnih podatkov (v obsegu ve\u010d gigabajtov). Pred stiskanjem se ti podatki zdaj samodejno razdelijo na fragmente obvladljive velikosti (privzeto - pribli\u017eno 16MB), kar omogo\u010da omejitev koli\u010dine porabljene pomnilnika, pove\u010duje bli\u017eino podatkov in odpira mo\u017enosti za vzporedno obdelavo. V SDDL2 je implementirana podobna funkcija samodejnega fragmentiranja pri delu s shemo. V postopku so bili ustvarjeni ali posodobljeni novi segmentatorji - za CSV, Parquet in standardne \u0161tevil\u010dne podatke - in vsi segmentatorji so zdaj serializirani in prilagodljivi, tako da se izbrana razporeditev lahko shrani v stiskalniku in ponovno uporabi kasneje.<\/p>\n<p>To se prozorno uporablja med kompresijo. Upo\u0161tevajte, da je cevovod za u\u010denje druga\u010den in ostaja nedotaknjen, zato ni namenjen sprejemanju velikih vhodnih podatkov kot u\u010dnega gradiva.<\/p>\n<p><strong>Izbolj\u0161ave v spletnem vizualizatorju grafov (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">preizkusiti<\/a>)<\/strong><br \/> Zdaj vizualizator prepozna sledi kompresije in dekompresije od za\u010detka do konca.<\/p>\n<p>Predogledna plo\u0161\u010da toka omogo\u010da pregledovanje bajtov, ki dejansko potekajo preko vsakega roba, poleg tega pa elementi za obrezovanje zagotavljajo, da ostajajo tudi veliki tokovi enostavni za delo.<\/p>\n<p>Nadzorna plo\u0161\u010da za nastavitve zdru\u017euje vse mo\u017enosti prikaza na enem mestu, celoten niz bli\u017enjic na tipkovnici - navigacija v smeri, urejeno obhod, \u0161irjenje in kr\u010denje, izbira vozli\u0161\u010d - omogo\u010da enostavno delo s orodjem brez mi\u0161ke.<\/p>\n<p>Sedaj imajo sledi razli\u010dice, stiskanje z razdelitvijo na bloke se pravilno prikazuje, zli pa kon\u010dno lahko generira lastne sledi s pomo\u010djo novih zastavic --trace in --trace-streams-dir.<\/p>\n<p><strong>Razno<\/strong><\/p>\n<ul>\n<li>V imenik je bilo dodanih ve\u010d kodekov. Kodeka Partition in bitpack zdaj uporabljata zdru\u017een dekoder. Kodek Floating-point bitsplit je prejel posebne kodirnike in dekodirnike za formate fp16, fp32, fp64 in bf16 s specializiranimi pospe\u0161evalniki. Dodana so razdelitev glede na obseg (split_byrange), dolgopski multiplexor, kodek sentinel, graf lz4 ter manj\u0161e pomo\u017ene funkcije, kot sta tryParseInt in splitByParam.<\/li>\n<li>API je bil organiziran.<\/li>\n<li>Testiranje s fuzznim je bilo izbolj\u0161ano.<\/li>\n<li>Postopek sestavljanja in pakiranja je bil izbolj\u0161an za ve\u010d platform.<\/li>\n<\/ul>\n<p>Izvor: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18286976\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u0435\u043c\u0438 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.2.0 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 OpenZL, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c. \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440\u043e\u0432, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 SDDL. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440\u0430 \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430: \u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0445\u043e\u0440\u043e\u0448\u0438\u0445 \u0431\u044d\u043a\u0435\u043d\u0434-\u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0441\u043e\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0441\u0436\u0430\u0442\u0438\u044f. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":170619,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-170618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sl\/blog\/news\/openzl-0-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47OpenZL 0.2.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sl\/blog\/news\/openzl-0-2-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-11T16:24:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-11T16:24:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47OpenZL 0.2.0 | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47OpenZL 0.2.0 | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/sl\/blog\/news\/openzl-0-2-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-11T16:24:53+00:00","article:modified_time":"2026-05-11T16:24:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}