The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Система сжатия OpenZL, опережающая Zstd и XZ по скорости и уровню сжатия структурированных данных

09.10.2025 12:59

Компания Meta* представила инструментарий для сжатия и распаковки данных OpenZL, по сравнению с форматами Zstd и XZ демонстрирующий более высокий уровень сжатия и скорость работы. OpenZL разработан для эффективного сжатия структурированных наборов данных, например, применяемых при машинном обучении, а также хранилищ, содержащих поля с различными повторяющимися типами информации. Код OpenZL написан на C/C++ и открыт под лицензией BSD.

При сжатии БД с астрономическим каталогом звёзд SAO, инструментарий OpenZL позволил сократить размер данных в 2.06 раза, в то время как алгоритм zstd сжал информацию в 1.31 раза, а XZ в 1.64 раза. При этом по скорости сжатия OpenZL опередил zstd в два раза (203 MB/s против 115 MB/s), а XZ - в 65 раз (203 MB/s против 3.1 MB/s). Распаковка в OpenZL оказалась незначительно медленнее zstd (822 MB/s против 890 MB/s) и в 27 быстрее XZ.

OpenZL не является алгоритмом общего назначения и показывает хорошие результаты только для данных с заранее известной структурой. Работа OpenZL сводится к адаптивной генерации упаковщика на основе переданного описания данных. В результате формируется код для сжатия, оптимизированный для конкретного формата данных. Для распаковки применяется универсальный распаковщик, совместимый со всеми генерируемыми упаковщиками.

Упаковка и распаковка осуществляется при помощи одной утилиты "zli" или библиотеки libopenzl. Структура данных описывается в виде профилей. В состав уже входит набор предопределённых профилей, описывающих типовые форматы хранения. Например, профиль для формата CSV или данных, хранимых в форме массива 64-разрядных чисел. Сжатие сводится к выбору профиля командой "zli list-profiles" и запуску процесса упаковки командой "zli compress --profile имя_профиля". Для распаковки достаточно запустить "zli decompress".

Для специфичных форматов требуется сформировать собственный профиль, используя команду "zli train", которая выявляет закономерности в данных и формирует профиль с оптимальным уровнем сжатия. Используя опцию "--pareto-frontier" созданный профиль можно модернизировать в сторону ускорения упаковки или распаковки, ценой снижения уровня сжатия. Для описания сложных форматов со вложенными структурами и определения раскладки форматов данных в структурах может применяться язык SDDL (Simple Data Description Language).

Метод создания оптимальных упаковщиков основан на применении набора примитивных кодировщиков, каждый из которых наиболее эффективен для отдельных типов и последовательностей данных. Для сжатия формируется ориентированный ациклический граф обработки данных, узлами которого являются кодеки, а рёбрами - варианты данных в обрабатываемом формате. В зависимости от поступающего на вход типа данных выбирается цепочка кодеков, оптимально сжимающих поступивший элемент данных. При подобной организации заголовок файла сжимается одним кодеком, поле с целочисленными данными - вторым, поле с увеличивающимся счётчиком - третьим, а поле со строковыми данными - четвёртым.



  1. Главная ссылка к новости (https://engineering.fb.com/202...)
  2. OpenNews: Facebook опубликовал реализацию алгоритма сжатия Zstandard 1.0
  3. OpenNews: Компания Apple открыла реализацию алгоритма сжатия без потерь LZFSE
  4. OpenNews: Компания Google открыла код Draco, библиотеки для эффективного сжатия 3D-графики
  5. OpenNews: Библиотеки сжатия LZHAM и Crunch переведены в общественное достояние
  6. OpenNews: Автор LZ4 представил новый быстрый и эффективный алгоритм сжатия ZSTD
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64019-openzl
Ключевые слова: openzl, compress, zstd, xz
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (89) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:01, 09/10/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –8 +/
     
     
  • 2.3, анонимно (?), 13:09, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +11 +/
     
     
  • 3.9, анон (?), 13:31, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.28, Эффективный менеджер (?), 14:34, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.11, Аноним (1), 13:41, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 4.20, Аноним (20), 14:02, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 5.54, Аноним (54), 18:24, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.4, Аноним (4), 13:11, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.12, Аноним (1), 13:42, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.22, fz (?), 14:07, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.38, Аноним (38), 16:12, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.78, ga (??), 09:24, 10/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.23, JakauBahuslau (?), 14:08, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +4 +/
     
     
  • 5.31, Zzz (??), 14:41, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 6.33, Аноним (33), 14:49, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.32, Аноним (32), 14:43, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 4.58, ИмяХ (ok), 19:11, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.49, Аноним (49), 17:10, 09/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.6, Мемоним (?), 13:16, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Simple Data Description Language

    Интересно, чем им Kaitai Struct не угодил. По описанию вроде почти одно и то же.

     
     
  • 2.8, Жироватт (ok), 13:25, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Там есть крайне фатальный недостаток – его писали не они!
     
     
  • 3.25, Аноним (-), 14:30, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ага.
    Они то могут в сериализацию.
    А Kaitai Struct пока только серят.
     
  • 2.14, anonymous (??), 13:53, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Katai Struct до сих пор не умеет в (де)сериализацию. Фатальный недостаток.
     
     
  • 3.17, Аноним (17), 13:58, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну вот, могли бы исправить :)
     
     
  • 4.27, Аноним (-), 14:33, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Могли.
    Но это нужно идти к каким-то васянам, предлагать свои патчи, оформлять как тем хочется...
    Или сделать свое, в котором ты сам себе хозяин.
     
     
  • 5.37, Аноним (17), 16:05, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да, не посмотрел, что у kaitai struct неудобная лицензия
     
     
  • 6.44, Аноним (44), 16:53, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Неудобная для проприерастов.
     
     
  • 7.87, Аноним (87), 16:50, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот резво ты пермиссивщика в копирасты записал...
     
  • 3.34, Мемоним (?), 15:39, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я имел в виду только язык описания структур. А генератор могли бы свой уже писать, хоть с сериализацией, хоть без. Всяко проще чем с нуля изобретать.
     
     
  • 4.71, morphe (?), 04:27, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Свой DSL написать таки проще чем kaitai поддерживать, просто потому что в kaitai слишком дофига всего есть

    По той же причине у kaitai нет собственных нормальных генераторов

     
     
  • 5.88, Аноним (87), 16:52, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то Kaitai - это одно из лучших решений, что есть на рынке в этом направлении.
     
     
  • 6.92, morphe (?), 22:57, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вообще-то Kaitai - это одно из лучших решений, что есть на рынке
    > в этом направлении.

    Он подходит для медленной десериализации

    А тут нужна быстрая десериализация и сериализация

    Kaitai удобен для исследования и для прототипирования, но не для чего-то более серьёзного

     
     
  • 7.93, Аноним (93), 00:58, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если не для питона генерить, а для C++? Сериализации нет, да, но десериализацию в AST это ничем не портит. Да, для серьёзности лучше переписать, но не столько для скорости, сколько для избавления от рантайм-библиотеки.
     
  • 4.74, Аноним (-), 07:55, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Я имел в виду только язык описания структур. А генератор могли бы
    > свой уже писать, хоть с сериализацией, хоть без. Всяко проще чем
    > с нуля изобретать.

    Так можно и protocol buffers какой-нибудь сосватать. Или flatbuffers.

     
     
  • 5.82, Мемоним (?), 13:04, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Я имел в виду только язык описания структур. А генератор могли бы
    >> свой уже писать, хоть с сериализацией, хоть без. Всяко проще чем
    >> с нуля изобретать.
    > Так можно и protocol buffers какой-нибудь сосватать. Или flatbuffers.

    Вообще говоря, нет. В справке Kaitai это объясняется
    https://doc.kaitai.io/faq.html#vs-protobuf

     
  • 4.85, Я (??), 14:25, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    на самом деле не проще. проще какраз свои хотелки и нужды обернуть в специфичные структуры чем искать а что из уже существующего подходит под задачу. особенно на ранних этапах разработки когда ещё и не очень понятно а что же нам действительно нужно. апотом часто выходит у сильных програмистских коллективов что случайно родился технически конкурентный но [не] очень нужный для рынка продукт..
     
  • 3.53, Аноним (53), 18:08, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это абсолютно не важно То что он не умеет на самом деле умеет, просто рудимент... большой текст свёрнут, показать
     

  • 1.7, Жироватт (ok), 13:23, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Т.е. её ещё и обучать надо? Перед упаковкой.
    Файлы как набор структурированных данных жуёт или только жмёт один файл как хранилище?

    > команду "zli train"

    Результат СЕЙЧАС насколько зависит от версии и от машины, на которой формируется профиль?

     
  • 1.10, Аноним (10), 13:40, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А чего не сравнили с непрерывном методом сжатия (solid archive) rar архивов? Он уже отлично сжимал повторяющиеся данные лет 25 назад.

    p.s. а лучше бы вообще уже выкупили rar у Рошала и сделали бы алгоритм открытым и бесплатным.

     
     
  • 2.16, ахахахаха (?), 13:58, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кто за него готов хоть три копейки заплатить? И ещё заново вложиться в популяризацию. Просто чтобы ванаби виндузятник порадовался?
     
     
  • 3.41, Ан248ним (?), 16:41, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Вендузятникам и так хорошо, это убогие линуксоиды страдают из-за лицензий.
     
  • 2.19, Эффективный менеджер (?), 14:01, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А может наоборот? Из открытого достояния приватизировать в частное владение.
    Я бы запантетовал колесо, алфавит и т.д. А то ишь, пользуетесь бесплатно! А разработчики чем будут питаться? Им тоже надо на хлеб с маслом!!1!

    Нажо выдать ЖКХ право дарить людей! Не нравиться - прокладыватйте труб к своему дому сами! А платить по раздельному тарифу, в ванной - по аналогии с сотовыми оператороми, покупаете "пакет" литров.

    Тех в провайдерам интернета надо выдать право банить людей за блокировку рекламы, торренты и подозрительую активность... А ещё лучше сделать реестр недобосовечных лиц.

     
  • 2.24, Аноним (32), 14:17, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем покупать? Игорь Павлов смог с 7зип реализовать свой них синдром. Дерзайте и вы.
     
  • 2.30, Аноним (33), 14:41, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У него нет дедупликации по факту, только частичная. На и в целом zpaq поинтересней, он лучше комбинации lzss с ppmd. Lrzip, к примеру, действительно дедуплицирует, и легко может обойти и 7z, и, тем более, rar.
     
  • 2.36, Аноним (36), 15:52, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А чего не сравнили с непрерывном методом сжатия (solid archive) rar архивов? Он уже отлично сжимал повторяющиеся данные лет 25 назад.

    Много кто отлично сжимает, мало кто умеет делать это БЫСТРО.

    > p.s. а лучше бы вообще уже выкупили rar у Рошала и сделали бы алгоритм открытым и бесплатным.

    Это вот сейчас к кому обращено было?

     
     
  • 3.98, 0xdeadbee (-), 19:27, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Много кто отлично сжимает, мало кто умеет делать это БЫСТРО.

    1) кто понял жизнь тот не спешит.
    2) торопливость придумал шайтан.

     
  • 2.57, Андрей (??), 18:47, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а чем вам tar+<что-то еще>, появившийся за 10 до rar, не угодил ?
     
     
  • 3.60, аноним12 (?), 19:19, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут стоило бы сходу крыть аргументом что rar это просто мешанина файлов для юзерскихзадачь, а tar это слепок файловой системы с атрибутами, с симлинками даже вроде с дедупликацией, который в дальнейшем можно чем нибудь сжать, в том числе и rar-ом
     
     
  • 4.66, Аноним (66), 23:07, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А можно вспомнить, что tar — это рудимент времён ленточных накопителей.
     
     
  • 5.68, Аноним (33), 23:30, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чёт ничего лучше так и не придумали. Ленточные накопители до сих пор самый надёжный и эффективный вариант хранения кстати, а жёсткие диски ни по объёмам ни по скорости по-моему так и не сравнились с плёнкой.
     
     
  • 6.69, Аноним (66), 23:41, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ленточные накопители до сих пор самый надёжный и эффективный вариант хранения кстати

    Ага, и архивируют на них tar'ом.

     
     
  • 7.70, Аноним (33), 23:46, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в том числе таром. Лично я тар использую везде и для всего, другого варианта архивации всех ассоциированных данных не придумали по сути.
     
  • 4.67, Аноним (33), 23:26, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дедупликация в tar это сомнительной живости клон. Но вот гну тар действительно наверно единственный вариант, позволяющий сохранить все метаданные и атрибуты из реальных архиваторов. Потом просто натравливаешь lrzip.
     
  • 3.81, Аноним (10), 12:38, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а чем вам tar+<что-то еще>

    Выглядит как комсомольцы в гамаке в противогазе.

    RAR, кстати, умеет хранить метадату из потоков NTFS, еще бы научить хранить атрибуты POSIX, был бы идеальным универсальным архиватором (если открыть алгоритм на сжатие).

     
  • 2.75, Аноним (-), 07:58, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > p.s. а лучше бы вообще уже выкупили rar у Рошала и сделали
    > бы алгоритм открытым и бесплатным.

    Rar не сделает data-specific компрессию, ибо это еще +1 generic LZ based на стероидах. Generic алго - не будет быстрее и жать лучше чем алго с препроцессингом под конкретную задачу. И этот препроцессинг кто-то должен - формализовать! Единственное отличие - господа догадались сделать какое-то решение где это катит для разных классов задач, а менять надо только описание. Предыдущие попытки на тему были task specific и при смене задачи - по простому на это не переделывались.

     

  • 1.13, Аноним (13), 13:47, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вообще-то да, если знать структуру данных можно пожать гораздо лучше чем общи... большой текст свёрнут, показать
     
     
  • 2.80, Аноним (80), 09:59, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы точно знаете, что такое 12 битные изображения, и для чего они нужны?
    Про HDR изображения, проблемы, связанные обработкой таких изображений точно не читали.
    Хотя бы с https://en.wikipedia.org/wiki/OpenEXR можно ознакомиться.
     

  • 1.15, Аноним (15), 13:54, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично. Ждём в BTRFS.
     
     
  • 2.18, ахахахаха (?), 13:59, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не является универсальным, на уровне файлухи работать не будет. Не ждите.
     
     
  • 3.101, Anonimus (??), 10:08, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На уровне файлухи как раз подходит, другое дело что кишка тонка вбухать в исследование бабки при этом без возможности их отбить, но получать люлей за факапы.
    Все Васяны привыкли использовать диск как хранилище архивов, а подняться на уровень выше?  Зачем!
    А бизнес не имеет такой Васянской генетики в своём поведении. Кроме разве что отдельных случайных Meta*. Но у них файлуха и не нужна, они выше этого.

    Тем более что Линь никогда не откажется от своих примитивов 20 века. Они супер надёжны, но не могёт в сложное и контекстное.
    Вот Линус не признает, что его говно-Git не могёт в структурное изменение в одной строке, потому что основной примитив это строка, а не структура кода. Поэтому это синтаксис Rust у него виноват. А далее "Был бы человек, а статью найдём ...".

    А по мне я 20 лет мещански мечтаю что архиватор встроен в файлуху, это при том что Линя хотя бы делает вид что осознано структурирует свои каталоги ...

     

  • 1.26, Аноним (26), 14:31, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Бинарник в разы больше, чем у zstd или 7-zip

    $ ls -l /usr/bin/zli
    -rwxr-xr-x 1 root root 5494744 окт  9 18:20 /usr/bin/zli

     
     
  • 2.29, Аноним (26), 14:34, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    zli --version zstrong-cli version 0 1 zli list-profiles Available profiles ... большой текст свёрнут, показать
     
     
  • 3.61, аноним12 (?), 19:32, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так не zli ни list-profiles ни другие файлы, зачем ты это делаешь, вот они у тебя и не сжимаются
     

  • 1.40, Аноним (49), 16:38, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для описания сложных форматов со вложенными структурами и определения раскладки форматов данных в структурах может применяться язык SDDL (Simple Data Description Language).

    Могли бы не выпендриваться и Kaitai Struct взять, или DFDL.

     
  • 1.46, Аноним (49), 17:03, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    До PNG никогда не доберётся - там стандарт раз в 20 лет выходит. Пока новый стандарт выйдет - PNG будет вытеснен уже.
     
  • 1.48, Аноним (-), 17:08, 09/10/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.51, Аноним (49), 17:49, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сборочная система крайне уродская - для того, чтобы собрать колесо для Python, н... большой текст свёрнут, показать
     
     
  • 2.52, Аноним (53), 17:56, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    4. libzstd они таки линкуют статически. Вообще не понятно какого хрена она в колесе.
    5. ломать не строить - из record-файла подчистить лишние файлы и пересобрать колесо 7zipом тривиально. Но почему я вообще должен это делать? Нормальные пакеты обычно делают так: у них есть pyproject.toml чтобы собрать через build, а если мы собираем через cmake, то cmake генерит свою sdist-директорию, где можно python3 -m build -nwx -- и соберётся колесо с уже предсобранной библиотекой.
     

  • 1.55, Аноним (55), 18:25, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Our main theoretical contribution is the graph model of compression, defined formally in section 3. In summary, we define a compression graph as a computational graph [ 20] where the nodes are codecs and edges represent data generated as output of one codec and used as input for another.

    Могли бы и расширение для onnx сделать, а не NIH городить. libonnx - это только сериализация графа, небольшая либа, это вообще чисто protobuf.

     
  • 1.56, Аноним (54), 18:25, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это как в том анекдоте. Сжимает хорошо и быстро, а разжимать мы пока не научилсь.
     
  • 1.59, Аноним (55), 19:15, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >On the other hand, html is structured but not repetitive and will therefore not benefit much from parsing.

    Звездёж. HTML избыточен, там эскейпинг, entities, отступы, встроенный base64, и вообще встроенные другие форматы. Если его просто токенизовать (даже без всякого BPE, просто по словарю известных тегов) и сериализовать результат в бинарный иерархический формат (то есть без дупликации открывающих и закрывающих тегов) - это уже выигрыш даст. Если же формато-специфичным образом обработать встроенные объекты, SVG и JavaScript - то выигрыш ещё больше будет. Я вообще ожидал от этой либы как раз эффективной компрессии HTMLя (потому что авторы бэкендов многих сайтов - больные yблюдки, не осилившие IEC 60027-2 и Systeme international).

     
     
  • 2.62, аноним12 (?), 19:49, 09/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    какой еще встроенный base64? HTML это дистилированный XML1.1 без неймспейсов и прочего, но поскольку его парсят/обходят полноценной xml-библиотекой с поддержкой полного стандарта, то глупо было не добавить встраивание SVG.
     
     
  • 3.89, Аноним (87), 17:00, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Такой img src data image png base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8... большой текст свёрнут, показать
     
     
  • 4.90, Аноним (87), 17:03, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, Чирков, пожми favicon через zopflipng. Станет 75% от текущего. Учитывая частоту скачки фавиконов - сэкономишь на трафике.
     
  • 4.91, аноним12 (?), 18:56, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И причем тут HTML? data:<mime>;<type>,<data> это URL протокол, часть стандарта RFC. Ты можешь его просто в адресной строке открыть, или запросить через HTTP-GET запрос.

    Base64 тут только поддерживается в качестве формата

     
     
  • 5.94, Аноним (93), 01:01, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А притом, что качественная трансформация HTML для нужд хранения подразумевает его полный парсинг, в том числе парсинг и трансформацию всех дочерних объектов.
     

  • 1.64, Аноним (55), 20:52, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот пример отсюда: https://openzl.org/api/c/graphs/sddl/#bitmap-images

    А вот результат компиляции ("компилятор" сериализует граф в CBOR, но я его десериализовал в JSON и почислил скриптом https://paste.debian.net/1400224/) этого графа: https://0x0.st/Kuyp.yddd/bmp.yddd

     
  • 1.65, penetrator (?), 21:37, 09/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а никого не смущает пейсбук?

    git clone --depth 1 -b release https://github.com/facebook/openzl.git

     
     
  • 2.73, openssh_user (ok), 06:13, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Никого не смущает Meta?
     
     
  • 3.76, Аноним (-), 08:00, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Никого не смущает Meta?

    Ну так дайте им мастеркласс, сделав инструментарий лучше. Тогда засмущает. Иначе о чем мы говорим? При отсутствии внятных конкурентов - кушай что дали or gtfo, какие еще варианты?

     
     
  • 4.95, openssh_user (ok), 05:28, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это мне написал аноним. Но я всё равно принимаю к сведению его слова
     
  • 2.83, Аноним (83), 13:25, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/facebook/zstd
    Тебя пейсбук смущает и в ZSTD?
     
     
  • 3.97, penetrator (?), 18:04, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    zstd безусловно неплох, но все равно конечно смущает
     
     
  • 4.99, Аноним (83), 22:57, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Просто Мета переманила к себе Yann Collet, автора lz4, zstd, xxHash. Не удивлюсь, если OpenZL тоже его творение.
     

  • 1.72, Аноним (72), 06:12, 10/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    7zip жмёт структурированные данные как мегатонный пресс, в зависимости от данных - в сотни-тысячи раз. Не зря его нет в сравнении.

    Похоже на то, что это очередное «мы изобрели супералгоритм, только сразу нужно подогнать данные».

     
     
  • 2.79, заполнить поле Name (?), 09:29, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    7z это мега странная штука в cli исполнении которая не умеет работать с пайплайнами.
    Лучше использовать tar с lzma2.
     
  • 2.84, Аноним (83), 13:28, 10/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Не зря его нет в сравнении.

    Одного XZ достаточно, т.к. 7zip и XZ внутри почти одно и тоже. И жмут +-1% одинаково

     
  • 2.102, Anonimus (??), 13:40, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для ведра можно поставь плагин к 7Zip с этими ZST и Ко  и прифигеть с разницы в скорости при тех же размерах. Мне дополнительный 0.001 % за 10000 раз дольше нафиг не сдались. А при равных размерах (на 0.001 % больше) 7Zip очень нервно курит в сторонке, без шансов.
    Фтопку, к сожалению и удивлению.
     

  • 1.96, Аноним (96), 10:42, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    те по идее теперь нужно встроить в него опцию чтобы он сам анализировал файл (долго), создавал в /tmp временный файл профиля и с ним сжимал. и для tar сделать что то типа cvfi
     
  • 1.100, Аноним (100), 10:02, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    с dwarfs бы ещё сравнили, между делом
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру