{"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\/hr\/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>Nakon sedam mjeseci razvoja, objavljena je verzija 0.2.0 frameworka <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, namijenjenog za izradu besplatnih kompresora podataka.<\/p>\n<p><\/noindex> <\/p>\n<p>Framework se sastoji od osnovne biblioteke i alata za izradu specijaliziranih kompresora, opisanih na jeziku <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Kako bi se stvorio dobar specijalizirani kompresor, postoje dva koraka:<\/p>\n<ol>\n<li>Analiza podataka radi izvla\u010denja strukture.<\/li>\n<li>Kori\u0161tenje dobrih backend kompresora koji koriste dobivenu strukturu za postizanje dobre kompresije.<\/li>\n<\/ol>\n<p>OpenZL pru\u017ea alate za oba koraka.<\/p>\n<p>Projekt je napisan na jezicima C i C++ i distribuira se pod BSD licencom.<\/p>\n<h5>Glavne promjene<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL je potpuno prepravljen od temelja kako bi se postigli zacrtani dizajnerski ciljevi. Ako je prvotna demo verzija predstavljala pojednostavljeno okru\u017eenje za izvo\u0111enje, SDDL2 je punopravni kompajler: sintakti\u010dki analizer proslje\u0111uje podatke semanti\u010dkom analizeru, koji, pak, proslje\u0111uje tipizirano apstraktno sintakti\u010dko stablo (AST) optimizatoru, a optimizator upravlja generatorom koda koji generira bajt kod za virtualnu ma\u0161inu.<\/p>\n<p>Klju\u010dni rezultat je trenutna sintakti\u010dka analiza. Kada se lokacija zapisa mo\u017ee potpuno odrediti samo parametrima i konstantama, engine prelazi izravno na bilo koje polje, ne skeniraju\u0107i prethodne bajtove, \u0161to omogu\u0107ava pristup bez kopiranja i propusnost od nekoliko GB\/s.<\/p>\n<p>Sam jezik se razvijao zajedno s alatima. Sada podr\u017eava when blokove za uvjetne lokacije, parametrizirane i anonimne zapise, pristup \u010dlanovima polja zapisa, kao i bitovne i logi\u010dke operatore.<\/p>\n<p>\u0160to se ti\u010de pogodnosti za programere, faza semanti\u010dke analize sada otkriva neodre\u0111ene reference, nesukladnosti tipova i gre\u0161ke u arnosti u fazi kompajliranja - s naznakom mjesta u izvornom kodu - a ne tijekom izvo\u0111enja, a tako\u0111er je objavljen dodatak za VS Code za isticanje sintakse .sddl datoteka.<\/p>\n<p><strong>Novi ugra\u0111eni codec LZ<\/strong><\/p>\n<p>U OpenZL sada je uklju\u010den vlastiti LZ kodek, predstavljen kao ZL_GRAPH_LZ, kao i profil sekvencijalne kompresije u alatu zli. Rad na kodeku se nastavlja: \u0161iri se skup funkcija i pobolj\u0161ava performanse prilikom obrade malih ulaznih podataka. Trenutno podr\u017eava funkcionalnost koja je ekvivalentna zstd razini 1, s veli\u010dinom prozora kompresije od 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL omogu\u0107uje replaniranje svake faze LZ kanala s ciljem pove\u0107anja brzine. Njegova grafi\u010dka arhitektura tako\u0111er omogu\u0107ava kombiniranje faza entropijskog kodiranja umjesto kori\u0161tenja jedinstvenog kanala koji se jednako dobro prilago\u0111ava svim scenarijima kori\u0161tenja. Tako se vi\u0161e faza mo\u017ee kombinirati u jednu operaciju za pove\u0107anje brzine obrade. To omogu\u0107uje OpenZL da osigura 10% ve\u0107u brzinu kompresije i 70% ve\u0107u brzinu dekompresije u usporedbi sa Zstandard razinom 1 na Silesia skupu u <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">na\u0161im testovima<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompressor<\/strong><\/th>\n<th><strong>Omjer kompresije<\/strong><\/th>\n<th><strong>Brzina kompresije<\/strong><\/th>\n<th><strong>Brzina dekompresije<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ razina 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 razina 1 s veli\u010dinom prozora 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 razina 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>Podr\u0161ka za vrlo velike ulazne podatke<\/strong><\/p>\n<p>zli sada podr\u017eava obradu ogromnih ulaznih podataka (obujma nekoliko gigabajta). Prije kompresije, ti se podaci automatski razdvajaju na fragmente upravljane veli\u010dine (po defaultu - otprilike 16 MB), \u0161to omogu\u0107uje ograni\u010davanje iskori\u0161tene memorije, pove\u0107anje lokalnosti podataka i otvara mogu\u0107nosti za paralelnu obradu. U SDDL2 je implementirana sli\u010dna funkcija automatskog fragmentiranja pri radu s shemama. Tijekom procesa stvoreni su ili a\u017eurirani novi segmentatori - za CSV, Parquet i standardne numeri\u010dke podatke - i svi segmentatori su sada serijalizabilni i prilagodljivi, tako da odabrani raspored mo\u017ee biti sa\u010duvan u kompresoru i ponovno kori\u0161ten kasnije.<\/p>\n<p>To se bez problema primjenjuje tijekom kompresije. Imajte na umu da se kanal u\u010denja razlikuje i ostaje netaknut, stoga nije namijenjen za prihva\u0107anje gigantskih ulaznih podataka kao materijala za u\u010denje.<\/p>\n<p><strong>Pobolj\u0161anja u online vizualizatoru grafa (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">isprobati<\/a>)<\/strong><br \/> Sada vizualizator prepoznaje tragove kompresije i dekompresije od po\u010detka do kraja.<\/p>\n<p>Panel za pregled protoka omogu\u0107uje pregled bajtova koji zapravo prolaze kroz svaki rub, a zahvaljuju\u0107i kontrolama obrezivanja \u010dak i veliki protoci ostaju jednostavni za rad.<\/p>\n<p>Panel postavki okuplja sve opcije prikazivanja na jednom mjestu, a potpuni set tipkovni\u010dkih pre\u010daca - navigacija po smjerovima, sortirano pregledavanje, otvaranje i zatvaranje, odabir \u010dvorova - omogu\u0107uje jednostavan rad s alatom bez mi\u0161a.<\/p>\n<p>Sada tragovi imaju verzije, kompresija s razbijanjem na blokove se ispravno prikazuje, a zli kona\u010dno mo\u017ee generirati svoje vlastite tragove s novim oznakama -trace i -trace-streams-dir.<\/p>\n<p><strong>Razno<\/strong><\/p>\n<ul>\n<li>U direktorij je dodano nekoliko kodeka. Kodeci Partition i bitpack sada koriste objedinjeni dekoder. Kodek Floating-point bitsplit dobio je posebne enkodere i dekodere za formate fp16, fp32, fp64 i bf16 sa specijaliziranim ubrzanjima. Dodano je razdvajanje po rasponu (split_byrange), multiplexer duljine, kodek sentinel, graf lz4 te nekoliko malih pomo\u0107nih funkcija poput tryParseInt i splitByParam.<\/li>\n<li>API je organiziran.<\/li>\n<li>Pobolj\u0161ano je fuzzing testiranje.<\/li>\n<li>Pobolj\u0161an je proces izgradnje i pakiranja za ve\u0107i broj platformi.<\/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\/hr\/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=\"hr_HR\" \/>\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\/hr\/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\/hr\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}