{"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\/de\/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>Nach sieben Monaten Entwicklung wurde das Framework 0.2.0 ver\u00f6ffentlicht <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, das f\u00fcr die Erstellung verlustfreier Datenkompressoren gedacht ist.<\/p>\n<p><\/noindex> <\/p>\n<p>Das Framework besteht aus einer grundlegenden Bibliothek und Werkzeugen zur Erstellung spezialisierter Kompressoren, die in der Sprache <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> beschrieben sind. Um einen guten spezialisierten Kompressor zu erstellen, gibt es zwei Phasen:<\/p>\n<ol>\n<li>Datenanalyse zur Extraktion der Struktur.<\/li>\n<li>Einsatz guter Backend-Kompressoren, die die erhaltene Struktur zur Erreichung einer guten Kompression nutzen.<\/li>\n<\/ol>\n<p>OpenZL bietet Werkzeuge f\u00fcr beide Phasen.<\/p>\n<p>Das Projekt ist in C und C++ geschrieben und wird unter der BSD-Lizenz verbreitet.<\/p>\n<h5>Wesentliche \u00c4nderungen<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL wurde von Grund auf neu \u00fcberarbeitet, um die festgelegten Designziele zu erreichen. W\u00e4hrend die urspr\u00fcngliche Demoversion eine vereinfachte Ausf\u00fchrungsumgebung darstellte, ist SDDL2 ein vollwertiger Compiler: Der Parser \u00fcbergibt die Daten an den semantischen Analyzer, der wiederum den typisierten abstrakten Syntaxbaum (AST) an den Optimierer weiterleitet, und der Optimierer steuert den Codegenerator, der die Bytecode der virtuellen Maschine generiert.<\/p>\n<p>Das entscheidende Ergebnis ist die sofortige Syntaxanalyse. Wenn der Standort eines Eintrags ausschlie\u00dflich anhand von Parametern und Konstanten bestimmt werden kann, springt die Engine direkt zu jedem Feld, ohne vorhergehende Bytes zu scannen, was einen zugriffsfreien Zugriff und eine Bandbreite von mehreren GB\/s erm\u00f6glicht.<\/p>\n<p>Die Sprache hat sich zusammen mit dem Werkzeugset weiterentwickelt. Jetzt unterst\u00fctzt sie 'when'-Bl\u00f6cke f\u00fcr bedingte Positionierungen, parametrisierte und anonyme Eintr\u00e4ge, den Zugriff auf Mitglieder von Eintragsfeldern sowie bitweise und logische Operatoren.<\/p>\n<p>Was die Benutzerfreundlichkeit f\u00fcr Entwickler betrifft, so erkennt die Phase der semantischen Analyse jetzt unbestimmte Verweise, Typinkonsistenzen und Arity-Fehler bereits w\u00e4hrend der Kompilierung \u2013 mit Angabe des Standorts im Quellcode \u2013 und nicht zur Laufzeit. Zudem wurde eine Erweiterung f\u00fcr VS Code ver\u00f6ffentlicht, die die Syntax von .sddl-Dateien hervorhebt.<\/p>\n<p><strong>Der neue integrierte LZ-Codec<\/strong><\/p>\n<p>In OpenZL ist jetzt der eigene LZ-Codec integriert, der in Form von ZL_GRAPH_LZ sowie einem Profil f\u00fcr die sequenzielle Kompression in der zli-Utility dargestellt ist. Die Arbeit an dem Codec wird fortgesetzt: Es erfolgt eine Erweiterung der Funktionalit\u00e4ten und eine Leistungssteigerung bei der Verarbeitung kleinerer Eingangsdaten. Momentan unterst\u00fctzt er eine Funktionalit\u00e4t, die dem zstd Level 1 entspricht, mit einer Kompressionsfenstergr\u00f6\u00dfe von 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL erm\u00f6glicht es, jede Phase des LZ-Pipelines neu zu gestalten, um die Geschwindigkeit zu erh\u00f6hen. Seine graphbasierte Architektur erlaubt auch die Kombination von Phasen der Entropiecodierung, anstatt einen einheitlichen Pipeline zu verwenden, der f\u00fcr alle Anwendungsf\u00e4lle gleich gut geeignet ist. Mehrere Phasen k\u00f6nnen dann in einem einzigen Vorgang zusammengefasst werden, um die Bearbeitungsgeschwindigkeit zu steigern. Dadurch kann OpenZL eine um 10 % h\u00f6here Kompressionsgeschwindigkeit und eine um 70 % h\u00f6here Dekompressionsgeschwindigkeit im Vergleich zu Zstandard Level 1 auf dem Silesia-Benchmark in <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">unseren Tests<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Kompressor<\/strong><\/th>\n<th><strong>Kompressionsverh\u00e4ltnis<\/strong><\/th>\n<th><strong>Kompressionsgeschwindigkeit<\/strong><\/th>\n<th><strong>Dekompressionsgeschwindigkeit<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ Level 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 Level 1 mit 64K Fenstergr\u00f6\u00dfe<\/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 Level 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>Unterst\u00fctzung f\u00fcr sehr gro\u00dfe Eingangsdaten<\/strong><\/p>\n<p>zli unterst\u00fctzt jetzt die Verarbeitung enormer Eingabedaten (im Umfang von mehreren Gigabyte). Vor der Komprimierung werden solche Daten automatisch in handhabbare Fragmente aufgeteilt (standardm\u00e4\u00dfig etwa 16 MB), was den Speicherbedarf begrenzt, die Lokalit\u00e4t der Daten verbessert und die M\u00f6glichkeit f\u00fcr parallele Verarbeitung er\u00f6ffnet. In SDDL2 wurde eine \u00e4hnliche Funktion zum automatischen Fragmentieren beim Arbeiten mit Schemata implementiert. Neue oder aktualisierte Segmentierer wurden f\u00fcr CSV, Parquet und Standard-Zahlen-Daten erstellt, und alle Segmentierer sind jetzt serialisierbar und konfigurierbar, sodass die gew\u00e4hlte Konfiguration im Kompressor gespeichert und sp\u00e4ter wiederverwendet werden kann.<\/p>\n<p>Dies wird w\u00e4hrend der Kompression transparent angewendet. Beachten Sie, dass die Lernpipeline anders ist und unber\u00fchrt bleibt, sodass sie nicht f\u00fcr die Annahme riesiger Eingangsdaten als Trainingsmaterial gedacht ist.<\/p>\n<p><strong>Verbesserungen im Online-Graph-Visualizer (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">es auszuprobieren<\/a>)<\/strong><br \/> Jetzt erkennt der Visualizer die Kompressions- und Dekompressionstraces von Anfang bis Ende.<\/p>\n<p>Das Vorschaufenster erm\u00f6glicht es, die tats\u00e4chlich \u00fcber jede Kante flie\u00dfenden Bytes zu sehen, und dank der Steuerungselemente zum Trimmen bleiben selbst gro\u00dfe Streams handhabbar.<\/p>\n<p>Das Einstellungsfeld vereint alle Anzeigeoptionen an einem Ort, w\u00e4hrend ein umfassender Satz von Tastenkombinationen \u2013 Navigation in Richtung, geordneter Durchlauf, Ausklappen und Einklappen, Auswahl von Knoten \u2013 es erm\u00f6glicht, das Tool bequem ohne Maus zu nutzen.<\/p>\n<p>Jetzt haben Trace-Protokolle Versionen, die Blockkompression wird korrekt angezeigt, und zli kann endlich mit den neuen Flags \u2014trace und \u2014trace-streams-dir eigene Traces generieren.<\/p>\n<p><strong>Verschiedenes<\/strong><\/p>\n<ul>\n<li>Im Katalog wurden mehrere Codecs hinzugef\u00fcgt. Die Codecs Partition und Bitpack verwenden jetzt einen kombinierten Decoder. Der Codec Floating-point bitsplit erhielt spezielle Encoder und Decoder f\u00fcr die Formate fp16, fp32, fp64 und bf16 mit spezifischen Beschleunigungen. Range-bezogene Splits (split_byrange), ein L\u00e4ngenmultiplexer, der Codec Sentinel, das Graph lz4 und kleine Hilfsfunktionen wie tryParseInt und splitByParam wurden hinzugef\u00fcgt.<\/li>\n<li>Die API wurde geordnet.<\/li>\n<li>Das Fuzzing-Testen wurde verbessert.<\/li>\n<li>Der Build- und Verpackungsprozess wurde f\u00fcr mehr Plattformen optimiert.<\/li>\n<\/ul>\n<p>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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\/de\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}