{"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\/it\/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>Dopo sette mesi di sviluppo, \u00e8 stata rilasciata la versione 0.2.0 del framework <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, progettato per creare compressori di dati senza perdite.<\/p>\n<p><\/noindex> <\/p>\n<p>Il framework \u00e8 composto da una libreria di base e strumenti per creare compressori specializzati, descritti nel linguaggio <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Per creare un buon compressore specializzato ci sono due fasi:<\/p>\n<ol>\n<li>Analisi dei dati per estrarre la struttura.<\/li>\n<li>Uso di buoni compressori backend, che utilizzano la struttura ottenuta per raggiungere una buona compressione.<\/li>\n<\/ol>\n<p>OpenZL fornisce strumenti per entrambe le fasi.<\/p>\n<p>Il progetto \u00e8 scritto in C e C++ e viene distribuito con licenza BSD.<\/p>\n<h5>Modifiche principali<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL \u00e8 stato completamente riprogettato da zero per raggiungere gli obiettivi di progettazione prefissati. Se la versione demo iniziale rappresentava un ambiente di esecuzione semplificato, SDDL2 \u00e8 un vero e proprio compilatore: l'analizzatore sintattico passa i dati all'analizzatore semantico, che a sua volta trasferisce l'albero sintattico astratto tipizzato (AST) all'ottimizzatore, e quest'ultimo gestisce il generatore di codice che produce il bytecode per la macchina virtuale.<\/p>\n<p>Il risultato chiave \u00e8 un'analisi sintattica istantanea. Quando la posizione di una registrazione pu\u00f2 essere completamente determinata solo dai parametri e dalle costanti, il motore accede direttamente a qualsiasi campo, senza scansionare i byte precedenti, garantendo accesso senza copia e una larghezza di banda di diversi GB\/s.<\/p>\n<p>Il linguaggio stesso si \u00e8 evoluto insieme all'insieme di strumenti. Ora supporta blocchi when per posizionamenti condizionali, registrazioni parametrizzate e anonime, accesso ai membri dei campi di registrazione, nonch\u00e9 operatori bitwise e logici.<\/p>\n<p>Per quanto riguarda la facilit\u00e0 d'uso per gli sviluppatori, la fase di analisi semantica ora identifica i riferimenti indefiniti, le incongruenze nei tipi e gli errori di arit\u00e0 durante la fase di compilazione - con indicazione della posizione nel codice sorgente - e non durante l'esecuzione, e inoltre \u00e8 stato rilasciato un'estensione per VS Code per l'evidenziazione della sintassi dei file .sddl.<\/p>\n<p><strong>Nuovo codec LZ integrato<\/strong><\/p>\n<p>In OpenZL, a proprietary LZ codec is now included, presented as ZL_GRAPH_LZ, along with a profile for sequential compression in the zli utility. Work on the codec continues: the feature set is being expanded, and performance in handling small input data is being improved. Currently, it supports functionality equivalent to zstd level 1, with a compression window size of 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL allows for the redesign of each stage of the LZ pipeline to increase speed. Its graph architecture also enables the combination of entropy coding stages instead of using a single pipeline that works equally well for all use cases. Then, multiple stages can be combined into a single operation to enhance processing speed. This allows OpenZL to achieve 10% faster compression and 70% faster decompression compared to zstandard level 1 on the Silesia corpus in <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">our tests<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Compressore<\/strong><\/th>\n<th><strong>Rapporto di Compressione<\/strong><\/th>\n<th><strong>Velocit\u00e0 di Compressione<\/strong><\/th>\n<th><strong>Velocit\u00e0 di Decompressione<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ livello 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 livello 1 con dimensione della finestra a 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 livello 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>Supporto per dati di input molto grandi<\/strong><\/p>\n<p>zli ora supporta l'elaborazione di enormi quantit\u00e0 di dati in ingresso (fino a diversi gigabyte). Prima della compressione, questi dati vengono ora automaticamente suddivisi in frammenti di dimensioni gestibili (di default circa 16MB), il che consente di limitare l'uso della memoria, migliorare la localit\u00e0 dei dati e offre opportunit\u00e0 per l'elaborazione parallela. In SDDL2 \u00e8 stata implementata una funzione analoga di frammentazione automatica durante il funzionamento secondo schema. Sono stati creati o aggiornati nuovi segmentatori - per CSV, Parquet e dati numerici standard - e tutti i segmentatori sono ora serializzabili e configurabili, permettendo di salvare la disposizione scelta nel compressore e riutilizzarla in seguito.<\/p>\n<p>Questo si applica in modo trasparente durante la compressione. Si noti che il pipeline di apprendimento \u00e8 diverso e rimane intatto, quindi non \u00e8 progettato per accettare enormi dati di input come materiale di apprendimento.<\/p>\n<p><strong>Miglioramenti nel visualizzatore grafico online (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">provare<\/a>)<\/strong><br \/> Ora il visualizzatore riconosce le tracce di compressione e decompressione dall'inizio alla fine.<\/p>\n<p>Il pannello di anteprima del flusso consente di visualizzare i byte che transitano effettivamente su ciascun bordo, e grazie ai controlli di ritaglio anche flussi grandi rimangono maneggevoli.<\/p>\n<p>Il pannello delle impostazioni riunisce tutte le opzioni di visualizzazione in un unico luogo, e l'intero set di scorciatoie da tastiera - navigazione nelle direzioni, attraversamento ordinato, espansione e compressione, selezione dei nodi - consente di lavorare comodamente con lo strumento senza mouse.<\/p>\n<p>Ora le tracce hanno versioni, la compressione con suddivisione in blocchi viene visualizzata correttamente, e zli finalmente pu\u00f2 generare le proprie tracce utilizzando nuovi flag -trace e -trace-streams-dir.<\/p>\n<p><strong>Varie<\/strong><\/p>\n<ul>\n<li>Nel catalogo sono stati aggiunti diversi codec. I codec Partition e bitpack utilizzano ora un decoder combinato. Il codec Floating-point bitsplit ha ricevuto codificatori e decodificatori speciali per i formati fp16, fp32, fp64 e bf16 con accelerazioni specializzate. Sono stati aggiunti segmentazione basata su intervallo (split_byrange), multiplexer di lunghezza, codec sentinel, grafico lz4 e piccole funzioni ausiliarie come tryParseInt e splitByParam.<\/li>\n<li>API ordinata.<\/li>\n<li>Migliorato il fuzzing testing.<\/li>\n<li>Migliorato il processo di build e packaging per un numero maggiore di piattaforme.<\/li>\n<\/ul>\n<p>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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\/it\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}