{"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\/da\/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 syv m\u00e5neders udvikling er version 0.2.0 af rammev\u00e6rket blevet udgivet. <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, designet til at oprette tabsfrie datakompressorer.<\/p>\n<p><\/noindex> <\/p>\n<p>Rammev\u00e6rket best\u00e5r af et grundl\u00e6ggende bibliotek og v\u00e6rkt\u00f8jer til at skabe specialiserede kompressorer, beskrevet p\u00e5 sproget <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> For at skabe en god specialiseret kompressor er der to trin:<\/p>\n<ol>\n<li>Dataanalyse for at udtr\u00e6kke strukturen.<\/li>\n<li>Brug af gode backend-kompressorer, der anvender den opn\u00e5ede struktur for at opn\u00e5 god kompression.<\/li>\n<\/ol>\n<p>OpenZL leverer v\u00e6rkt\u00f8jer til begge trin.<\/p>\n<p>Projektet er skrevet i C og C++ og distribueres under BSD-licensen.<\/p>\n<h5>Vigtige \u00e6ndringer<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL er blevet helt redesignet fra bunden for at opn\u00e5 de fastsatte designm\u00e5l. Hvis den oprindelige demo-version var en forenklet runtime, s\u00e5 er SDDL2 en fuldskala compiler: parseren sender data til semantikkontroll\u00f8ren, som igen sender det typede abstrakte syntakstr\u00e6 (AST) til optimereren, og optimereren styrer kodegeneratoren, der genererer bytecode til den virtuelle maskine.<\/p>\n<p>Det n\u00f8glem\u00e6ssige resultat er \u00f8jeblikkelig syntaktisk analyse. N\u00e5r placeringen af en post helt kan bestemmes ud fra parametre og konstanter, springer motoren direkte til et hvilket som helst felt uden at scanne de foreg\u00e5ende bytes, hvilket sikrer adgang uden kopiering og en genneml\u00f8bshastighed p\u00e5 flere GB\/s.<\/p>\n<p>Selve sproget har udviklet sig sammen med v\u00e6rkt\u00f8js\u00e6ttet. Nu underst\u00f8tter det blokke n\u00e5r til betingede placeringer, parametriske og anonyme poster, adgang til medlemsfelter i poster, samt bitvise og logiske operatorer.<\/p>\n<p>N\u00e5r det kommer til udviklerens bekvemmelighed, s\u00e5 opdager fasen for semantisk analyse nu uafklarede henvisninger, typeafvigelser og aritetfejl p\u00e5 kompileringstidspunktet - med angivelse af placeringen i kildekoden - og ikke under k\u00f8rslen, og der er udgivet en VS Code-udvidelse til synligg\u00f8relse af syntaks i .sddl-filer.<\/p>\n<p><strong>Den nye indbyggede codec LZ<\/strong><\/p>\n<p>I OpenZL er der nu inkluderet en egen LZ-codec, pr\u00e6senteret som ZL_GRAPH_LZ, samt en profil for sekventiel kompression i v\u00e6rkt\u00f8jet zli. Arbejdet med codec'en forts\u00e6tter: der udvides funktionaliteten, og ydeevnen ved behandling af sm\u00e5 inputdata forbedres. P\u00e5 nuv\u00e6rende tidspunkt underst\u00f8tter den funktionalitet, der svarer til zstd niveau 1, med en kompressionsvindue st\u00f8rrelse p\u00e5 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL giver mulighed for at redesignere hvert trin i LZ-pipelines for at \u00f8ge hastigheden. Dets grafbaserede arkitektur muligg\u00f8r ogs\u00e5 kombination af trin for entropikodning i stedet for at anvende en enkelt pipeline, der passer til alle brugsscenarier. Derefter kan flere trin kombineres til en enkelt operation for at forbedre behandlingshastigheden. Dette g\u00f8r det muligt for OpenZL at opn\u00e5 en 10% h\u00f8jere kompressionshastighed og en 70% h\u00f8jere dekompressionshastighed sammenlignet med Zstandard niveau 1 p\u00e5 Silesia-korpus. <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">i vores tests<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompressor<\/strong><\/th>\n<th><strong>Kompressionsforhold<\/strong><\/th>\n<th><strong>Kompressionshastighed<\/strong><\/th>\n<th><strong>Dekompressionshastighed<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ niveau 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 niveau 1 med 64K vinduesst\u00f8rrelse<\/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 niveau 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>Support til meget store inputdata<\/strong><\/p>\n<p>zli underst\u00f8tter nu behandling af enorme inputdata (p\u00e5 flere gigabyte). F\u00f8r komprimering deles s\u00e5danne data nu automatisk op i h\u00e5ndterede st\u00f8rrelse fragmenter (standard er cirka 16MB), hvilket begr\u00e6nser den anvendte hukommelse, \u00f8ger datalokalitet og \u00e5bner muligheder for parallel behandling. I SDDL2 er der implementeret en lignende funktion til automatisk fragmentering, n\u00e5r man arbejder i skema. Nye eller opdaterede segmentatorer er blevet oprettet - for CSV, Parquet og standard numeriske data - og alle segmentatorer er nu serialiserbare og konfigurerbare, s\u00e5 den valgte layout kan gemmes i kompressoren og genbruges senere.<\/p>\n<p>Dette anvendes transparent under kompressionen. Bem\u00e6rk, at l\u00e6ringspipeline'en er forskellig og forbliver u\u00e6ndret, s\u00e5 den ikke er beregnet til at modtage gigantiske inputdata som tr\u00e6ningsmateriale.<\/p>\n<p><strong>Forbedringer i online graf visualiseringsv\u00e6rkt\u00f8jet (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">pr\u00f8v<\/a>)<\/strong><br \/> Nu genkender visualiseringsv\u00e6rkt\u00f8jet kompressions- og dekompressionsspor fra start til slut.<\/p>\n<p>Forh\u00e5ndsvisningspanelet giver mulighed for at se de bytes, der faktisk passerer gennem hver kant, og takket v\u00e6re trims kontrollene er selv store streams nemme at arbejde med.<\/p>\n<p>Indstillingerpanelet samler alle visningsindstillinger et sted, og det fulde s\u00e6t genvejstaster - navigering i retning, ordnet gennemgang, udvidelse og sammenfoldning, valg af noder - g\u00f8r det nemt at arbejde med v\u00e6rkt\u00f8jet uden mus.<\/p>\n<p>Nu har sporinger versioner, komprimering med blokopdeling vises korrekt, og zli kan endelig generere sine egne spor med de nye n\u00f8gler --trace og --trace-streams-dir.<\/p>\n<p><strong>Diverse<\/strong><\/p>\n<ul>\n<li>Flere codecs er tilf\u00f8jet til kataloget. Codec'erne Partition og bitpack bruger nu en samlet dekoder. Codec'en Floating-point bitsplit har f\u00e5et specialiserede kodere og dekodere til formaterne fp16, fp32, fp64 og bf16 med specialiserede accelerationer. Tilf\u00f8jet er opdeling med r\u00e6kkevidde (split_byrange), l\u00e6ngdemultiplexer, codec sentinel, graf lz4 og nogle sm\u00e5 hj\u00e6lpefunktioner som tryParseInt og splitByParam.<\/li>\n<li>API'en er blevet ordnet.<\/li>\n<li>Fuzzing-testning er blevet forbedret.<\/li>\n<li>Bygge- og pakkeprocessen er blevet forbedret for flere platforme.<\/li>\n<\/ul>\n<p>Kilde: <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.3 - 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\/da\/blog\/news\/openzl-0-2-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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\/da\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}