{"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\/et\/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>P\u00e4rast seitsme kuu arendust\u00f6\u00f6 tehti v\u00e4lja 0.2.0 raamistik <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, mis on m\u00f5eldud kaotusteta andmekompressorite loomiseks.<\/p>\n<p><\/noindex> <\/p>\n<p>Raamistik koosneb p\u00f5hikogumist ja t\u00f6\u00f6riistadest spetsialiseeritud kompressorite loomiseks, mis on kirjeldatud keeles <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Hea spetsialiseeritud kompressori loomise protsess koosneb kahest etapist:<\/p>\n<ol>\n<li>Andmete anal\u00fc\u00fcs struktuuri v\u00e4ljat\u00f5mbamiseks.<\/li>\n<li>Heade tagaplaanikompressorite kasutamine, mis kasutavad saadud struktuuri efektiivse tihenduse saavutamiseks.<\/li>\n<\/ol>\n<p>OpenZL pakub t\u00f6\u00f6riistu m\u00f5lema etapi jaoks.<\/p>\n<p>Projekt on kirjutatud keeltes C ja C++ ning jagatakse BSD litsentsi alusel.<\/p>\n<h5>Peamised muudatused<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL on t\u00e4ielikult nullist \u00fcmber kujundatud, et saavutada kavandatud projekteerimise eesm\u00e4rke. Kui algne demoversioon oli lihtsustatud t\u00e4itmisreegel, siis SDDL2 \u2013 see on t\u00e4isfunktsionaalne kompilaator: s\u00fcntaksianal\u00fcsaator edastab andmed semantika anal\u00fcsaatorile, kes omakorda edastab t\u00fc\u00fcbistatud abstraktse s\u00fcntakspuu (AST) optimeerijale, ning optimeerija juhib koodigeneraatort, mis genereerib virtuaalmasina baytkoodi.<\/p>\n<p>Peamine tulemus on kohene s\u00fcntaksianal\u00fc\u00fcs. Kui kirje asukoht on t\u00e4ielikult m\u00e4\u00e4ratletav ainult parameetrite ja konstantide kaudu, suundub mootor otse igale v\u00e4ljal, skaneerimata eelnevaid baitide, mis tagab juurdep\u00e4\u00e4su ilma kopeerimise ja GB\/s \u00fclekandekiirus.<\/p>\n<p>Ise keel on arenenud koos t\u00f6\u00f6riistade kogumiga. N\u00fc\u00fcd toetab see when-blokke tingimuslike asukohtade jaoks, parameetrilisi ja anon\u00fc\u00fcmseid kirjeid, kirjev\u00e4ljade liikmete juurdep\u00e4\u00e4su ning bititaseme ja loogilisi operaatorit.<\/p>\n<p>Arendaja mugavuse osas tuvastab semantika anal\u00fc\u00fcsietapp n\u00fc\u00fcd m\u00e4\u00e4ratlemata viidatud, t\u00fc\u00fcbi mittevastavuse ja arusaamatuse vead kompileerimise etapis \u2013 koos asukoha n\u00e4itamistega allika koodis \u2013 mitte jooksutushetkel ning on v\u00e4lja antud VS Code laiendus .sddl failide s\u00fcntaksi esilet\u00f5stmiseks.<\/p>\n<p><strong>Uus sisseehitatud LZ koodek<\/strong><\/p>\n<p>OpenZL sisaldab n\u00fc\u00fcd oma LZ-koodekit, mis on esitatud ZL_GRAPH_LZ kujul, samuti j\u00e4rjestikuse kompressiooniprofiili utiliidis zli. T\u00f6\u00f6d koodeki kallal j\u00e4tkuvad: t\u00f6\u00f6riista funktsioonide komplekti laienemine ja j\u00f5udluse t\u00f5stmine v\u00e4ikeste sisendandmete t\u00f6\u00f6tlemisel. Praegu toetab see funktsionaalsust, mis vastab zstd tasemele 1, kompressiooniruuduga 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL v\u00f5imaldab \u00fcmber kujundada iga LZ konveieri etapi kiirema t\u00f6\u00f6 tempos. Selle graafiline arhitektuur v\u00f5imaldab ka \u00fchte etappi entropiakoodimist kombineerida, selle asemel et kasutada \u00fchtset konveierit, mis sobib igasuguste kasutusstsenaariumide jaoks. Seej\u00e4rel saab mitu etappi \u00fchendada \u00fcheks operatsiooniks, et t\u00f5sta t\u00f6\u00f6tlemise kiirus. See v\u00f5imaldab OpenZL-l saavutada 10% kiirema kompressioonikiiruse ja 70% kiirema dekompressioonikiiruse v\u00f5rreldes Zstandard tasemega 1 Silesia korpusel. <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">meie testides<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompressor<\/strong><\/th>\n<th><strong>Kompressioonisuhe<\/strong><\/th>\n<th><strong>Kompressioonikiirus<\/strong><\/th>\n<th><strong>Dekompresseerimise kiirus<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ tase 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 tase 1 64K akna suurusega<\/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 tase 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>Toetamine v\u00e4ga suurte sisendandmete jaoks<\/strong><\/p>\n<p>zli toetab n\u00fc\u00fcd tohutute sisendandmete t\u00f6\u00f6tlemist (mitme gigabaidi suuruses). Enne tihendamist jagatakse need andmed automaatselt kontrollitud suurusega fragmentideks (vaikimisi umbes 16MB), mis aitab piirata kasutatava m\u00e4lu mahtu, t\u00f5sta andmete lokaalsust ja avab v\u00f5imalusi paralleelseks t\u00f6\u00f6tlemiseks. SDDL2-s on rakendatud sarnane automaatne fragmentimine t\u00f6\u00f6tamisel skeemi alusel. Protsessi k\u00e4igus on loodud v\u00f5i ajakohastatud uusi segmentaatoreid \u2013 CSV, Parquet ja standardsete numbriliste andmete jaoks \u2013 ja k\u00f5ik segmentaatorid on n\u00fc\u00fcd serialiseeritavad ja konfigureeritavad, nii et valitud paigutus saab salvestada kompressorisse ja kasutada hiljem uuesti.<\/p>\n<p>See rakendatakse kompressiooni k\u00e4igus transparantselt. Pange t\u00e4hele, et koolituskonveier on erinev ning j\u00e4\u00e4b muutumatuks, seega ei ole see m\u00f5eldud hiiglaslike sisendandmete saamiseks koolitusmaterjalidena.<\/p>\n<p><strong>Parandused veebivisualiseerija graafikus<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">proovi<\/a>)<\/strong><br \/> N\u00fc\u00fcd tuvastab visuaaliseerija kompressiooni ja dekompressiooni j\u00e4lgi algusest l\u00f5puni.<\/p>\n<p>Voogesituspaneel v\u00f5imaldab vaadata byte'e, mis tegelikult l\u00e4bivad iga serva, ja l\u00f5ikamise juhtnupud hoiavad isegi suured vood t\u00f6\u00f6tlemisv\u00f5imelisena.<\/p>\n<p>Seadete paneel koondab k\u00f5ik kuvamisparameetrid \u00fchte kohta, samas kui t\u00e4iskomplekt otsetee klahvidest \u2013 navigeerimine suundade kaudu, j\u00e4rjestatud l\u00e4bivaatamine, avamine ja sulgemine, s\u00f5lmede valimine \u2013 v\u00f5imaldab mugavalt t\u00f6\u00f6riistaga t\u00f6\u00f6tada ilma hiireta.<\/p>\n<p>N\u00fc\u00fcd on j\u00e4lgimised versiooniga, plokkide eraldamisega tihendamine kuvatakse \u00f5igesti, ja zli suudab l\u00f5puks genereerida oma j\u00e4lgimisi uute lipudega --trace ja --trace-streams-dir.<\/p>\n<p><strong>Muud<\/strong><\/p>\n<ul>\n<li>Katalooge on lisatud mitu kodeerijat. Kodeerijad Partition ja bitpack kasutavad n\u00fc\u00fcd \u00fchtset dekoodrit. Kodeerija Vote-point bitsplit omab spetsiaalseid kodeerijaid ja dekoodreid fp16, fp32, fp64 ja bf16 formaatidele koos spetsialiseeritud kiirendustega. On lisatud vahemiku arvestav jagamine (split_byrange), pikkuse multiplexer, kodeerija sentinel, graaf lz4 ja v\u00e4iksed abifunktsioonid, nagu tryParseInt ja splitByParam.<\/li>\n<li>API on korrastatud.<\/li>\n<li>Fuzztestimise on parandatud.<\/li>\n<li>Kogumise ja pakendamise protsess on paranenud suurema arvu platvormide jaoks.<\/li>\n<\/ul>\n<p>Allikas: <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.1.1 - 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\/et\/blog\/news\/openzl-0-2-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\/et\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}