{"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\/sv\/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>Efter sju m\u00e5naders utveckling lanserades 0.2.0 av ramverket <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, avsett f\u00f6r att skapa f\u00f6rlustfria datakompressorer.<\/p>\n<p><\/noindex> <\/p>\n<p>Ramverket best\u00e5r av ett grundl\u00e4ggande bibliotek och verktyg f\u00f6r att skapa specialiserade kompressorer, beskrivna p\u00e5 spr\u00e5ket <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> F\u00f6r att skapa en bra specialiserad kompressor finns det tv\u00e5 steg:<\/p>\n<ol>\n<li>Analys av data f\u00f6r att extrahera strukturen.<\/li>\n<li>Anv\u00e4ndning av bra backend-kompressorer som anv\u00e4nder den erh\u00e5llna strukturen f\u00f6r att uppn\u00e5 bra kompression.<\/li>\n<\/ol>\n<p>OpenZL tillhandah\u00e5ller verktyg f\u00f6r b\u00e5da stegen.<\/p>\n<p>Projektet \u00e4r skrivet i C och C++ och distribueras under BSD-licens.<\/p>\n<h5>Viktiga \u00e4ndringar<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL har helt omarbetats fr\u00e5n grunden f\u00f6r att n\u00e5 de designm\u00e5l som satts upp. Medan den ursprungliga demoversionen var en f\u00f6renklad k\u00f6rmilj\u00f6, \u00e4r SDDL2 en fullt fungerande kompilator: parsern skickar data till den semantiska analysatorn, som i sin tur skickar det typade abstrakta syntaxtr\u00e4det (AST) till optimeraren, och optimeraren styr kodgeneratorn som genererar bytekod f\u00f6r den virtuella maskinen.<\/p>\n<p>Den viktigaste resultaten \u00e4r omedelbar syntaktisk analys. N\u00e4r positionen f\u00f6r en post helt kan fastst\u00e4llas endast utifr\u00e5n parametrar och konstanter, g\u00e5r motorn direkt till vilket f\u00e4lt som helst utan att skanna de f\u00f6reg\u00e5ende byteenheterna, vilket m\u00f6jligg\u00f6r direkt \u00e5tkomst utan kopiering och en bandbredd p\u00e5 flera GB\/s.<\/p>\n<p>Sj\u00e4lva spr\u00e5ket har utvecklats tillsammans med verktygen. Det st\u00f6der nu when-block f\u00f6r villkorsbundna placeringar, parameteriserade och anonyma poster, \u00e5tkomst till medlemsf\u00e4lt i poster samt bit- och logiska operatorer.<\/p>\n<p>N\u00e4r det g\u00e4ller utvecklarv\u00e4nlighet identifierar den semantiska analysfasen nu os\u00e4kra referenser, typkonflikter och aritmetiska fel vid kompileringssteget \u2013 med angivelse av plats i k\u00e4llkoden \u2013 ist\u00e4llet f\u00f6r vid k\u00f6rning, och en VS Code-till\u00e4gg har sl\u00e4ppts f\u00f6r syntaktisk h\u00f6jdpunktsmarkering av .sddl-filer.<\/p>\n<p><strong>Den nya inbyggda codec LZ<\/strong><\/p>\n<p>I OpenZL har nu en egen LZ-kodare, presenterad som ZL_GRAPH_LZ, samt en profil f\u00f6r sekventiell kompression i verktyget zli. Arbetet med kodaren forts\u00e4tter: funktioner ut\u00f6kas och prestandan vid bearbetning av sm\u00e5 ing\u00e5ngar f\u00f6rb\u00e4ttras. F\u00f6r n\u00e4rvarande st\u00f6der den funktionalitet som motsvarar zstd niv\u00e5 1, med en kompressionsf\u00f6nsterstorlek p\u00e5 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL ger m\u00f6jlighet att omdesigna varje steg i LZ-pipelinen f\u00f6r att \u00f6ka hastigheten. Dess grafarkitektur g\u00f6r det ocks\u00e5 m\u00f6jligt att kombinera steg i entropikodning ist\u00e4llet f\u00f6r att anv\u00e4nda en enda pipeline som passar alla anv\u00e4ndningsscenarier lika bra. Flera steg kan sedan kombineras till en operation f\u00f6r att \u00f6ka bearbetningshastigheten. Detta g\u00f6r att OpenZL kan erbjuda 10% h\u00f6gre kompressionshastighet och 70% h\u00f6gre dekompressionshastighet j\u00e4mf\u00f6rt med Zstandard niv\u00e5 1 p\u00e5 Silesia-datat. <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">v\u00e5ra tester<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompressor<\/strong><\/th>\n<th><strong>Kompressionsf\u00f6rh\u00e5llande<\/strong><\/th>\n<th><strong>Kompressionshastighet<\/strong><\/th>\n<th><strong>Dekompressionshastighet<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ niv\u00e5 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 niv\u00e5 1 med 64K f\u00f6nsterstorlek<\/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 niv\u00e5 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>St\u00f6d f\u00f6r mycket stora ing\u00e5ngsdata<\/strong><\/p>\n<p>zli st\u00f6der nu behandling av enorma ing\u00e5ngsdata (upp till flera gigabyte). Innan komprimering bryts s\u00e5dan data nu automatiskt ner i hanterbara storlekar (standard \u2013 cirka 16 MB), vilket begr\u00e4nsar det anv\u00e4nda minnet, f\u00f6rb\u00e4ttrar datalokaliseringen och \u00f6ppnar m\u00f6jligheter f\u00f6r paralell bearbetning. En liknande funktion f\u00f6r automatisk fragmentering har implementerats i SDDL2 n\u00e4r det g\u00e4ller schemabehandling. Nya eller uppdaterade segmenterare har skapats \u2013 f\u00f6r CSV, Parquet och standardnumeriska data \u2013 och alla segmenterare \u00e4r nu serialiserbara och konfigurerbara, s\u00e5 den valda layouten kan sparas i kompressorn och \u00e5teranv\u00e4ndas senare.<\/p>\n<p>Detta till\u00e4mpas transparent under kompressionen. Observera att utbildningspiplinanen \u00e4r of\u00f6r\u00e4ndrad och f\u00f6rblir intakt, s\u00e5 den \u00e4r inte avsedd att ta emot gigantiska ing\u00e5ngar som utbildningsmaterial.<\/p>\n<p><strong>F\u00f6rb\u00e4ttringar i den online grafvisualizeraren (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">prova<\/a>)<\/strong><br \/> Nu k\u00e4nner visualizeraren igen kompressionens och dekompressionens sp\u00e5r fr\u00e5n b\u00f6rjan till slut.<\/p>\n<p>Str\u00f6mf\u00f6rhandsgranskningspanelen g\u00f6r det m\u00f6jligt att se de byte som faktiskt passerar genom varje kant, och tack vare trimningskontrollerna f\u00f6rblir \u00e4ven stora str\u00f6mmar hanterbara.<\/p>\n<p>Inst\u00e4llningstpanelen samlar alla visningsalternativ p\u00e5 ett st\u00e4lle, och den kompletta upps\u00e4ttningen kortkommandon \u2013 navigering, ordnad traversering, utvidgning och sammandragning, val av noder \u2013 g\u00f6r det m\u00f6jligt att arbeta bekv\u00e4mt med verktyget utan mus.<\/p>\n<p>Nu har sp\u00e5rVersionsnummer, blockbaserad komprimering visas korrekt, och zli kan \u00e4ntligen generera egna sp\u00e5r med de nya flaggorna \u2014trace och \u2014trace-streams-dir.<\/p>\n<p><strong>Olika<\/strong><\/p>\n<ul>\n<li>Flera codecs har lagts till i katalogen. Codecs Partition och bitpack anv\u00e4nder nu en sammanslagen dekoder. Codec Floating-point bitsplit har f\u00e5tt speciella kodare och dekodare f\u00f6r formaten fp16, fp32, fp64 och bf16 med specialiserade accelereringar. Splittrande efter intervall (split_byrange), l\u00e4ngdmultiplexer, codec sentinel, graf lz4 och sm\u00e5 hj\u00e4lpfunktioner som tryParseInt och splitByParam har ocks\u00e5 lagts till.<\/li>\n<li>API:t har ordnats.<\/li>\n<li>Fuzzningstesterna har f\u00f6rb\u00e4ttrats.<\/li>\n<li>Bygg- och paketprocessen har f\u00f6rb\u00e4ttrats f\u00f6r fler plattformar.<\/li>\n<\/ul>\n<p>K\u00e4lla: <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\/sv\/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=\"sv_SE\" \/>\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\/sv\/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\/sv\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}