{"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\/es\/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>Despu\u00e9s de siete meses de desarrollo, se lanz\u00f3 la versi\u00f3n 0.2.0 del framework <a rel=\"nofollow\" href=\"https:\/\/openzl.org\">OpenZL<\/a>, dise\u00f1ado para crear compresores de datos sin p\u00e9rdidas.<\/p>\n<p><\/noindex> <\/p>\n<p>El framework consta de una biblioteca b\u00e1sica y herramientas para crear compresores especializados, descritos en el lenguaje <a rel=\"nofollow\" href=\"https:\/\/openzl.org\/sddl\">SDDL<\/a>.<br \/> Para crear un buen compresor especializado, hay dos etapas:<\/p>\n<ol>\n<li>An\u00e1lisis de datos para extraer la estructura.<\/li>\n<li>Uso de buenos compresores backend, que utilizan la estructura obtenida para lograr una buena compresi\u00f3n.<\/li>\n<\/ol>\n<p>OpenZL proporciona herramientas para ambas etapas.<\/p>\n<p>El proyecto est\u00e1 escrito en C y C++ y se distribuye bajo la licencia BSD.<\/p>\n<h5>Principales cambios<\/h5>\n<p><strong>SDDL2<\/strong><\/p>\n<p>SDDL ha sido completamente redise\u00f1ado desde cero para alcanzar los objetivos de dise\u00f1o establecidos. Si la versi\u00f3n de demostraci\u00f3n inicial representaba un entorno de ejecuci\u00f3n simplificado, SDDL2 es un compilador completo: el analizador sint\u00e1ctico pasa datos al analizador sem\u00e1ntico, que a su vez entrega un \u00e1rbol de sintaxis abstracta (AST) tipado al optimizador, y el optimizador gestiona el generador de c\u00f3digo, el cual genera bytecode para la m\u00e1quina virtual.<\/p>\n<p>El resultado clave es el an\u00e1lisis sint\u00e1ctico instant\u00e1neo. Cuando la ubicaci\u00f3n de un registro puede determinarse completamente solo por par\u00e1metros y constantes, el motor va directamente a cualquier campo, sin escanear los bytes anteriores, lo que proporciona acceso sin copias y un ancho de banda de varios GB\/s.<\/p>\n<p>El propio lenguaje ha evolucionado junto con el conjunto de herramientas. Ahora admite bloques when para ubicaciones condicionales, registros parametrizados y an\u00f3nimos, acceso a los miembros de los campos de los registros, as\u00ed como operadores a nivel de bits y l\u00f3gicos.<\/p>\n<p>En cuanto a la comodidad del desarrollador, la etapa de an\u00e1lisis sem\u00e1ntico ahora identifica referencias indefinidas, discrepancias de tipos y errores de aridad en tiempo de compilaci\u00f3n \u2014con indicaci\u00f3n de la ubicaci\u00f3n en el c\u00f3digo fuente\u2014 en lugar de durante la ejecuci\u00f3n, y se ha lanzado una extensi\u00f3n para VS Code para la resaltaci\u00f3n de sintaxis de archivos .sddl.<\/p>\n<p><strong>Nuevo c\u00f3dec LZ incorporado<\/strong><\/p>\n<p>En OpenZL ahora se incluye un c\u00f3dec LZ propio, presentado como ZL_GRAPH_LZ, as\u00ed como un perfil de compresi\u00f3n secuencial en la utilidad zli. El trabajo en el c\u00f3dec contin\u00faa: se est\u00e1 ampliando el conjunto de funciones y mejorando el rendimiento al procesar peque\u00f1os datos de entrada. Hasta el momento, admite funcionalidad equivalente a zstd nivel 1, con un tama\u00f1o de ventana de compresi\u00f3n de 64 KB.<\/p>\n<p> <noindex><\/p>\n<p>OpenZL permite redise\u00f1ar cada etapa del proceso LZ con el fin de aumentar la velocidad. Su arquitectura gr\u00e1fica tambi\u00e9n permite combinar etapas de codificaci\u00f3n de entrop\u00eda en lugar de utilizar un solo proceso que se adapte igualmente a todos los escenarios de uso. Luego, varias etapas se pueden combinar en una sola operaci\u00f3n para aumentar la velocidad de procesamiento. Esto le permite a OpenZL lograr una velocidad de compresi\u00f3n un 10% m\u00e1s alta y una velocidad de descompresi\u00f3n un 70% m\u00e1s alta en comparaci\u00f3n con Zstandard nivel 1 en la prueba de Silesia. <a rel=\"nofollow\" href=\"https:\/\/gist.github.com\/terrelln\/412cda99d1e54126477219cacf38c971\">nuestros tests<\/a>:<\/p>\n<p><\/noindex> <\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Compresor<\/strong><\/th>\n<th><strong>Tasa de compresi\u00f3n<\/strong><\/th>\n<th><strong>Velocidad de compresi\u00f3n<\/strong><\/th>\n<th><strong>Velocidad de descompresi\u00f3n<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>OpenZL LZ nivel 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 nivel 1 con tama\u00f1o de ventana de 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 nivel 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>Soporte para entradas muy grandes<\/strong><\/p>\n<p>zli ahora soporta el procesamiento de grandes vol\u00famenes de datos de entrada (de varios gigabytes). Antes de la compresi\u00f3n, estos datos se dividen autom\u00e1ticamente en fragmentos de tama\u00f1o manejable (por defecto, aproximadamente 16MB), lo que permite limitar la cantidad de memoria utilizada, mejorar la localidad de datos y abrir posibilidades para el procesamiento paralelo. SDDL2 implementa una funci\u00f3n similar de fragmentaci\u00f3n autom\u00e1tica al trabajar con esquemas. Se han creado o actualizado nuevos segmentadores para CSV, Parquet y datos num\u00e9ricos est\u00e1ndar, y todos los segmentadores son ahora serializables y configurables, de modo que la configuraci\u00f3n elegida puede ser guardada en el compresor y reutilizada m\u00e1s tarde.<\/p>\n<p>Esto se aplica de manera transparente durante la compresi\u00f3n. Cabe se\u00f1alar que el proceso de aprendizaje es diferente y permanece intacto, por lo que no est\u00e1 dise\u00f1ado para aceptar grandes entradas como material de entrenamiento.<\/p>\n<p><strong>Mejoras en el visualizador de gr\u00e1ficos en l\u00ednea (<a rel=\"nofollow\" href=\"https:\/\/openzl.org\/tools\/trace\">probar<\/a>)<\/strong><br \/> Ahora el visualizador reconoce las trazas de compresi\u00f3n y descompresi\u00f3n de principio a fin.<\/p>\n<p>El panel de vista previa de flujo permite ver los bytes que est\u00e1n pasando a trav\u00e9s de cada borde, y gracias a los controles de recorte, incluso los flujos grandes se mantienen manejables.<\/p>\n<p>El panel de configuraci\u00f3n re\u00fane todas las opciones de visualizaci\u00f3n en un solo lugar, mientras que un conjunto completo de teclas de acceso r\u00e1pido \u2014navegaci\u00f3n direccional, recorrido ordenado, expansi\u00f3n y contracci\u00f3n, selecci\u00f3n de nodos\u2014 permite utilizar la herramienta c\u00f3modamente sin rat\u00f3n.<\/p>\n<p>Ahora las trazas tienen versiones, la compresi\u00f3n con divisi\u00f3n en bloques se muestra correctamente, y zli finalmente puede generar sus propias trazas utilizando las nuevas flags \u2014trace y \u2014trace-streams-dir.<\/p>\n<p><strong>Varios<\/strong><\/p>\n<ul>\n<li>Se han a\u00f1adido varios c\u00f3decs al cat\u00e1logo. Los c\u00f3decs Partition y bitpack ahora utilizan un decodificador combinado. El c\u00f3dec de bits flotantes ha recibido codificadores y decodificadores espec\u00edficos para los formatos fp16, fp32, fp64 y bf16 con aceleraciones especializadas. Se han a\u00f1adido la divisi\u00f3n por rango (split_byrange), un multiplexor de longitud, el c\u00f3dec sentinel, el gr\u00e1fico lz4 y funciones auxiliares peque\u00f1as, como tryParseInt y splitByParam.<\/li>\n<li>El API se ha ordenado.<\/li>\n<li>Se ha mejorado la prueba de fuzzing.<\/li>\n<li>Se ha mejorado el proceso de construcci\u00f3n y empaquetado para una mayor cantidad de plataformas.<\/li>\n<\/ul>\n<p>Fuente: <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\/es\/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=\"es_ES\" \/>\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\/es\/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\/es\/blog\/news\/openzl-0-2-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/170618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=170618"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/170618\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/170619"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=170618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=170618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=170618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}