{"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\/fr\/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>Apr\u00e8s sept mois de d\u00e9veloppement, la version 0.2.0 du framework a \u00e9t\u00e9 publi\u00e9e <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, con\u00e7u pour cr\u00e9er des compresseurs de donn\u00e9es sans perte.<\/p>\n<p><\/noindex> <\/p>\n<p>Le framework se compose d'une biblioth\u00e8que de base et d'outils pour cr\u00e9er des compresseurs sp\u00e9cialis\u00e9s, d\u00e9crits dans le langage <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Pour cr\u00e9er un bon compresseur sp\u00e9cialis\u00e9, il y a deux \u00e9tapes :<\/p>\n<ol>\n<li>Analyse des donn\u00e9es pour extraire la structure.<\/li>\n<li>Utilisation de bons compresseurs backend, qui utilisent la structure obtenue pour atteindre une bonne compression.<\/li>\n<\/ol>\n<p>OpenZL fournit des outils pour les deux \u00e9tapes.<\/p>\n<p>Le projet est \u00e9crit en C et C++ et est distribu\u00e9 sous la licence BSD.<\/p>\n<h5>Principales modifications<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL a \u00e9t\u00e9 compl\u00e8tement repens\u00e9 depuis le d\u00e9but pour atteindre les objectifs de conception fix\u00e9s. Alors que la premi\u00e8re version d\u00e9mo repr\u00e9sentait un environnement d'ex\u00e9cution simplifi\u00e9, SDDL2 est un v\u00e9ritable compilateur : l'analyseur syntaxique transmet les donn\u00e9es \u00e0 l'analyseur s\u00e9mantique, qui \u00e0 son tour transmet l'arborescence syntaxique abstraite (AST) typ\u00e9e \u00e0 l'optimiseur, et l'optimiseur contr\u00f4le le g\u00e9n\u00e9rateur de code, qui g\u00e9n\u00e8re le bytecode de la machine virtuelle.<\/p>\n<p>Le r\u00e9sultat cl\u00e9 est une analyse syntaxique instantan\u00e9e. Lorsque la position d'un enregistrement peut \u00eatre compl\u00e8tement d\u00e9termin\u00e9e uniquement par les param\u00e8tres et les constantes, le moteur acc\u00e8de directement \u00e0 n'importe quel champ, sans scanner les octets pr\u00e9c\u00e9dents, ce qui permet un acc\u00e8s sans copie et une bande passante de plusieurs Go\/s.<\/p>\n<p>Le langage lui-m\u00eame a \u00e9volu\u00e9 avec l'ensemble d'outils. Maintenant, il prend en charge des blocs when pour des emplacements conditionnels, des enregistrements param\u00e9tr\u00e9s et anonymes, l'acc\u00e8s aux membres des champs d'enregistrements, ainsi que des op\u00e9rateurs bit \u00e0 bit et logiques.<\/p>\n<p>Concernant la facilit\u00e9 d'utilisation pour les d\u00e9veloppeurs, l'\u00e9tape de l'analyse s\u00e9mantique d\u00e9tecte d\u00e9sormais les r\u00e9f\u00e9rences ind\u00e9finies, les incompatibilit\u00e9s de type et les erreurs d'arit\u00e9 lors de la compilation - avec indication de la localisation dans le code source - et non pas \u00e0 l'ex\u00e9cution, et une extension VS Code pour la coloration syntaxique des fichiers .sddl a \u00e9galement \u00e9t\u00e9 publi\u00e9e.<\/p>\n<p><strong>Nouveau codec LZ int\u00e9gr\u00e9<\/strong><\/p>\n<p>OpenZL inclut d\u00e9sormais son propre codec LZ, pr\u00e9sent\u00e9 sous la forme de ZL_GRAPH_LZ, ainsi qu'un profil de compression s\u00e9quentielle dans l'outil zli. Le d\u00e9veloppement du codec se poursuit : un ensemble de fonctionnalit\u00e9s est en cours d'expansion et des am\u00e9liorations de performances dans le traitement des petites entr\u00e9es sont en cours. \u00c0 ce jour, il prend en charge une fonctionnalit\u00e9 \u00e9quivalente \u00e0 celle de zstd niveau 1, avec une taille de fen\u00eatre de compression de 64 Ko.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL permet de repenser chaque \u00e9tape du pipeline LZ afin d'augmenter la vitesse. Son architecture en graphe permet \u00e9galement de combiner les \u00e9tapes de codage d'entropie au lieu d'utiliser un seul pipeline qui convient \u00e9galement \u00e0 tous les cas d'utilisation. Ensuite, plusieurs \u00e9tapes peuvent \u00eatre combin\u00e9es en une seule op\u00e9ration pour augmenter la vitesse de traitement. Cela permet \u00e0 OpenZL d'assurer une vitesse de compression 10 % sup\u00e9rieure et une vitesse de d\u00e9compression 70 % plus \u00e9lev\u00e9e par rapport \u00e0 Zstandard de niveau 1 sur la base Silesia dans <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">nos tests<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Compresseur<\/strong><\/th>\n<th><strong>Taux de compression<\/strong><\/th>\n<th><strong>Vitesse de compression<\/strong><\/th>\n<th><strong>Vitesse de d\u00e9compression<\/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 Mo\/s<\/td>\n<td>2288 Mo\/s<\/td>\n<\/tr>\n<tr>\n<td>Zstd niveau 1 avec taille de fen\u00eatre de 64 Ko<\/td>\n<td>2.74<\/td>\n<td>419 Mo\/s<\/td>\n<td>1254 Mo\/s<\/td>\n<\/tr>\n<tr>\n<td>Zstd niveau 1<\/td>\n<td>2.89<\/td>\n<td>424 Mo\/s<\/td>\n<td>1345 Mo\/s<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Prise en charge de tr\u00e8s grandes entr\u00e9es<\/strong><\/p>\n<p>zli prend d\u00e9sormais en charge le traitement d'\u00e9normes volumes de donn\u00e9es d'entr\u00e9e (de plusieurs gigaoctets). Avant la compression, ces donn\u00e9es sont d\u00e9sormais automatiquement segment\u00e9es en morceaux de taille g\u00e9r\u00e9e (par d\u00e9faut environ 16 Mo), ce qui permet de limiter la m\u00e9moire utilis\u00e9e, d'am\u00e9liorer la localit\u00e9 des donn\u00e9es et d'ouvrir des possibilit\u00e9s de traitement parall\u00e8le. SDDL2 impl\u00e9mente une fonctionnalit\u00e9 similaire de fragmentation automatique lors du travail par sch\u00e9ma. De nouveaux segmentateurs ont \u00e9t\u00e9 cr\u00e9\u00e9s ou mis \u00e0 jour - pour CSV, Parquet, et des donn\u00e9es num\u00e9riques standard - et tous les segmentateurs sont d\u00e9sormais s\u00e9rialisables et configurables, de sorte que la mise en page choisie puisse \u00eatre sauvegard\u00e9e dans le compresseur et r\u00e9utilis\u00e9e ult\u00e9rieurement.<\/p>\n<p>Cela s'applique de mani\u00e8re transparente lors de la compression. Notez que le pipeline d'apprentissage est diff\u00e9rent et reste inchang\u00e9, il n'est donc pas destin\u00e9 \u00e0 recevoir de gigantesques donn\u00e9es d'entr\u00e9e comme mat\u00e9riel d'apprentissage.<\/p>\n<p><strong>Am\u00e9liorations dans le visualiseur de graphe en ligne (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">essayer<\/a>)<\/strong><br \/> Le visualiseur reconna\u00eet d\u00e9sormais les trac\u00e9s de compression et de d\u00e9compression du d\u00e9but \u00e0 la fin.<\/p>\n<p>Le panneau de pr\u00e9visualisation du flux permet de visualiser les octets passant effectivement par chaque bord, et gr\u00e2ce aux \u00e9l\u00e9ments de contr\u00f4le de recadrage, m\u00eame les flux volumineux restent faciles \u00e0 manipuler.<\/p>\n<p>Le panneau de param\u00e8tres regroupe tous les param\u00e8tres d'affichage au m\u00eame endroit, et l'ensemble complet des touches de raccourci - navigation directionnelle, parcours ordonn\u00e9, d\u00e9ploiement et repliement, s\u00e9lection de n\u0153uds - permet d'utiliser l'outil confortablement sans souris.<\/p>\n<p>Les traces ont d\u00e9sormais des versions, la compression avec d\u00e9coupage en blocs s'affiche correctement, et zli peut enfin g\u00e9n\u00e9rer ses propres traces gr\u00e2ce aux nouvelles options \u2014trace et \u2014trace-streams-dir.<\/p>\n<p><strong>Divers<\/strong><\/p>\n<ul>\n<li>Plusieurs codecs ont \u00e9t\u00e9 ajout\u00e9s au r\u00e9pertoire. Les codecs Partition et bitpack utilisent d\u00e9sormais un d\u00e9codeur combin\u00e9. Le codec Floating-point bitsplit dispose d'encodeurs et de d\u00e9codeurs sp\u00e9cifiques pour les formats fp16, fp32, fp64 et bf16 avec des acc\u00e9l\u00e9rations sp\u00e9cialis\u00e9es. Des fonctionnalit\u00e9s de division en tenant compte de la plage (split_byrange), un multiplexeur de longueur, un codec sentinel, un graphique lz4 et de petites fonctions auxiliaires comme tryParseInt et splitByParam ont \u00e9t\u00e9 ajout\u00e9s.<\/li>\n<li>L'API a \u00e9t\u00e9 ordonn\u00e9e.<\/li>\n<li>Le test de fuzzing a \u00e9t\u00e9 am\u00e9lior\u00e9.<\/li>\n<li>Le processus de construction et d'emballage a \u00e9t\u00e9 optimis\u00e9 pour un plus grand nombre de plateformes.<\/li>\n<\/ul>\n<p>Source : <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.2 - 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\/fr\/blog\/news\/openzl-0-2-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\/fr\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}