The OpenNET Project / Index page

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



"Система сжатия OpenZL, опережающая Zstd и XZ по скорости и уровню сжатия структурированных данных"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Система сжатия OpenZL, опережающая Zstd и XZ по скорости и уровню сжатия структурированных данных"  +/
Сообщение от opennews (??), 09-Окт-25, 13:01 
Компания Meta*  представила инструментарий для сжатия и распаковки данных OpenZL, по сравнению с форматами Zstd и XZ демонстрирующий более высокий уровень сжатия и скорость работы. OpenZL разработан для эффективного сжатия структурированных наборов данных, например, применяемых при машинном обучении, а также хранилищ, содержащих поля с различными повторяющимися типами информации. Код OpenZL написан на C/C++ и открыт под лицензией BSD...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64019

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 09-Окт-25, 13:01    Скрыто ботом-модератором–8 +/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #4, #49

3. Сообщение от анонимно (?), 09-Окт-25, 13:09   +11 +/
конечно, именно поэтому код открыт, ага
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #9, #11

4. Сообщение от Аноним (4), 09-Окт-25, 13:11   +1 +/
сам посмотрим - https://github.com/facebook/openzl

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #12

6. Сообщение от Мемоним (?), 09-Окт-25, 13:16   +/
> Simple Data Description Language

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #14

7. Сообщение от Жироватт (ok), 09-Окт-25, 13:23   +1 +/
Т.е. её ещё и обучать надо? Перед упаковкой.
Файлы как набор структурированных данных жуёт или только жмёт один файл как хранилище?

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

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

Ответить | Правка | Наверх | Cообщить модератору

8. Сообщение от Жироватт (ok), 09-Окт-25, 13:25   +3 +/
Там есть крайне фатальный недостаток – его писали не они!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #25

9. Сообщение от анон (?), 09-Окт-25, 13:31   +1 +/
то что код открыт, не означает, что в нем найдут закладку
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #28

10. Сообщение от Аноним (10), 09-Окт-25, 13:40   +2 +/
А чего не сравнили с непрерывном методом сжатия (solid archive) rar архивов? Он уже отлично сжимал повторяющиеся данные лет 25 назад.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #19, #24, #30, #36, #57, #75

11. Сообщение от Аноним (1), 09-Окт-25, 13:41   +1 +/
xz тоже был открыт, ага
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #20

12. Сообщение от Аноним (1), 09-Окт-25, 13:42   +/
xz тоже был открыт
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #22, #23, #58

13. Сообщение от Аноним (13), 09-Окт-25, 13:47   +/
Ну вообще-то да, если знать структуру данных можно пожать гораздо лучше чем общим алгоритмом.

Например, взять 12-битные изображения. Там тупо верхних 4-бита каждый второй байт забит нулями. Из четырех байт тривиально получается три. Не говоря уже о разностном кодировании, потому что каждое последующее значение лежит довольно таки близко к предыдущему. Так вот - лет 10-15 назад редко какой архиватор умел пожимать такие файлы. Потом появился zstd, который с этим справляется лучше, но и он до ужатия до 75% от оригинала не дотягивает. Позже появился jxl (lossless jpeg)- он умел таки пожимать лучше чем до тривиальных 75%. Но данные к тому моменту и так уже лежали на zfs / zstd.

Топик как-раз движется в этом направлении - похоже ему будет достаточно сказать что файлы надо рассматривать как последовательность word (16-bit), и кодировать их разность.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #80

14. Сообщение от anonymous (??), 09-Окт-25, 13:53   +/
Katai Struct до сих пор не умеет в (де)сериализацию. Фатальный недостаток.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #17, #34, #53

15. Сообщение от Аноним (15), 09-Окт-25, 13:54   +/
Отлично. Ждём в BTRFS.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

16. Сообщение от ахахахаха (?), 09-Окт-25, 13:58   +2 +/
Кто за него готов хоть три копейки заплатить? И ещё заново вложиться в популяризацию. Просто чтобы ванаби виндузятник порадовался?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #41

17. Сообщение от Аноним (17), 09-Окт-25, 13:58   +/
ну вот, могли бы исправить :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #27

18. Сообщение от ахахахаха (?), 09-Окт-25, 13:59   +3 +/
Не является универсальным, на уровне файлухи работать не будет. Не ждите.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #101

19. Сообщение от Эффективный менеджер (?), 09-Окт-25, 14:01   –2 +/
А может наоборот? Из открытого достояния приватизировать в частное владение.
Я бы запантетовал колесо, алфавит и т.д. А то ишь, пользуетесь бесплатно! А разработчики чем будут питаться? Им тоже надо на хлеб с маслом!!1!

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

20. Сообщение от Аноним (20), 09-Окт-25, 14:02   +2 +/
Но Jia Tan в проектировании формата участия не принимал и изначально код не писал. Решил лишь подрихтовать сбочный скрипт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #54

22. Сообщение от fz (?), 09-Окт-25, 14:07   +1 +/
как страшно жить то...
шарахайтесь теперь от любого кода
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #38

23. Сообщение от JakauBahuslau (?), 09-Окт-25, 14:08   +4 +/
В xz закладку нашли за две тестовые версии, так что если там действительно что-то есть, то тоже быстро найдут
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #31, #32

24. Сообщение от Аноним (32), 09-Окт-25, 14:17   +3 +/
Зачем покупать? Игорь Павлов смог с 7зип реализовать свой них синдром. Дерзайте и вы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

25. Сообщение от Аноним (-), 09-Окт-25, 14:30   –2 +/
Ага.
Они то могут в сериализацию.
А Kaitai Struct пока только серят.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

26. Сообщение от Аноним (26), 09-Окт-25, 14:31   +/
Бинарник в разы больше, чем у zstd или 7-zip

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29

27. Сообщение от Аноним (-), 09-Окт-25, 14:33   +2 +/
Могли.
Но это нужно идти к каким-то васянам, предлагать свои патчи, оформлять как тем хочется...
Или сделать свое, в котором ты сам себе хозяин.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #37

28. Сообщение от Эффективный менеджер (?), 09-Окт-25, 14:34   +/
То что в нем найдут закладку равна коэффициенту популярности языка программирования - Виликая Python лучше всех!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

29. Сообщение от Аноним (26), 09-Окт-25, 14:34   –1 +/
$ zli --version
zstrong-cli version 0.1

$ zli list-profiles
Available profiles:
  -| csv    = CSV. Pass optional non-comma separator with --profile-arg <char>.
  -| le-i16    = Little-endian signed 16-bit data
  -| le-i32    = Little-endian signed 32-bit data
  -| le-i64    = Little-endian signed 64-bit data
  -| le-u16    = Little-endian unsigned 16-bit data
  -| le-u32    = Little-endian unsigned 32-bit data
  -| le-u64    = Little-endian unsigned 64-bit data
  -| parquet    = Parquet in the canonical format (no compression, plain encoding)
  -| pytorch    = Pytorch model generated from torch.save(). Training is not supported.
  -| sao    = SAO format from the Silesia corpus
  -| sddl    = Data that can be parsed using the Simple Data Description Language. Pass a path to the data description file with --profile-arg.
  -| serial    = Serial data (aka raw bytes)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #61

30. Сообщение от Аноним (33), 09-Окт-25, 14:41   +1 +/
У него нет дедупликации по факту, только частичная. На и в целом zpaq поинтересней, он лучше комбинации lzss с ppmd. Lrzip, к примеру, действительно дедуплицирует, и легко может обойти и 7z, и, тем более, rar.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

31. Сообщение от Zzz (??), 09-Окт-25, 14:41   +1 +/
К сожалению, нашли случайно из-за CPU overload. Если б китайцы аккуратнее свой имплант написали, то далеко не факт, что обнаружили быстро.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #33

32. Сообщение от Аноним (32), 09-Окт-25, 14:43   –2 +/
Потому что васян с кор2дуба заметил как проц грузили типичные задачи с зксзед и обратился к профи из Майкрософт,который и выяснил в чем дело? Великий опенсурс!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

33. Сообщение от Аноним (33), 09-Окт-25, 14:49   +/
Это "поляки" были ж, при чём тут китайцы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

34. Сообщение от Мемоним (?), 09-Окт-25, 15:39   +/
Я имел в виду только язык описания структур. А генератор могли бы свой уже писать, хоть с сериализацией, хоть без. Всяко проще чем с нуля изобретать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #71, #74, #85

36. Сообщение от Аноним (36), 09-Окт-25, 15:52   +1 +/
> А чего не сравнили с непрерывном методом сжатия (solid archive) rar архивов? Он уже отлично сжимал повторяющиеся данные лет 25 назад.

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #98

37. Сообщение от Аноним (17), 09-Окт-25, 16:05   –2 +/
да, не посмотрел, что у kaitai struct неудобная лицензия
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #44

38. Сообщение от Аноним (38), 09-Окт-25, 16:12   +/
Не от любого, а от даров данайцев.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #78

40. Сообщение от Аноним (49), 09-Окт-25, 16:38   +/
>Для описания сложных форматов со вложенными структурами и определения раскладки форматов данных в структурах может применяться язык SDDL (Simple Data Description Language).

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

Ответить | Правка | Наверх | Cообщить модератору

41. Сообщение от Ан248ним (?), 09-Окт-25, 16:41   –4 +/
Вендузятникам и так хорошо, это убогие линуксоиды страдают из-за лицензий.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

44. Сообщение от Аноним (44), 09-Окт-25, 16:53   +1 +/
Неудобная для проприерастов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #87

46. Сообщение от Аноним (49), 09-Окт-25, 17:03   –1 +/
До PNG никогда не доберётся - там стандарт раз в 20 лет выходит. Пока новый стандарт выйдет - PNG будет вытеснен уже.
Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от Аноним (-), 09-Окт-25, 17:08    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору

49. Сообщение от Аноним (49), 09-Окт-25, 17:10   +/
Да, прилагаются. Они там свой ЯП развели!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

51. Сообщение от Аноним (49), 09-Окт-25, 17:49   +1 +/
Сборочная система крайне уродская - для того, чтобы собрать колесо для Python, нужно отдельно запускать через `python3 -m build -nwx .`, а это пересоберёт всё заново, что, мягко говоря, небыстро. Можно при обычной сборке сказать собрать питоьний модуль ... но это будт не колесо, а для сборки колеса придётся тогда менять `pyproject.toml` вручную на `setup.py` и вручную же копировать питоний модуль в директорию, чтобы он вошёл в колесо.

При этом содержимое автоматически-собранного колеса такое:

--
Path = dist/openzl-0.1.0-cp312-abi3-linux_x86_64.whl
Type = zip
Physical Size = 4643707

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2025-10-09 13:41:12 .....        26516         6558  include/zdict.h
2025-10-09 14:01:28 .....       181748        46086  include/zstd.h
2025-10-09 13:41:12 .....         4278         1624  include/zstd_errors.h
2025-10-09 14:34:10 .....         1053          514  lib/cmake/zstd/zstdConfig.cmake
2025-10-09 14:02:12 .....         2762          887  lib/cmake/zstd/zstdConfigVersion.cmake
2025-10-09 14:34:12 .....         1430          441  lib/cmake/zstd/zstdTargets-relwithdebinfo.cmake
2025-10-09 14:34:12 .....         4633         1403  lib/cmake/zstd/zstdTargets.cmake
2025-10-09 14:35:38 .....      3727650      2336425  lib/libzstd.a
2025-10-09 14:39:48 .....       662360       273065  lib/libzstd.so
2025-10-09 14:39:48 .....       662360       273065  lib/libzstd.so.1
2025-10-09 14:39:48 .....       662360       273065  lib/libzstd.so.1.5.7
2025-10-09 14:34:10 .....          476          312  lib/pkgconfig/libzstd.pc
2025-10-09 14:39:48 .....           53           55  openzl/__init__.py
2025-10-09 14:39:44 .....         6810          856  openzl/ext/graphs.pyi
2025-10-09 14:39:44 .....        38213         2405  openzl/ext/nodes.pyi
2025-10-09 14:39:48 .....      4385136      1421292  openzl/ext.abi3.so
2025-10-09 14:39:46 .....        14158         2059  openzl/ext.pyi
2025-10-09 14:39:48 .....          131          117  openzl-0.1.0.dist-info/METADATA
2025-10-09 14:39:48 .....          124          117  openzl-0.1.0.dist-info/WHEEL
2025-10-09 14:39:48 .....         1562          891  openzl-0.1.0.dist-info/RECORD
------------------- ----- ------------ ------------  ------------------------
2025-10-09 14:39:48           10383813      4641237  20 files


Заметьте директорию lib:

1. её присутствие в колесе вообще некорректно
2. в CMake-файле написано, что с динамическими библиотеками питоний модуль вообще быть собран не может, а тут libzstd динамически прилинкована.
3. если они такие умные, что линкуют libzstd динамически, то могли бы её вообще не пересобирать, а использовать из системы

К сожалению нельзя просто запаковать содержимое директории src в zip-архив, так как RECORD содержит хеши всех файлов, и отсутствие файлов, или несовпадение хеша, очен не понравится некоторым пакетам для управления пакетами питона (и нет, я не имею в виду pip, есть другие модули питона, они предназначены для использования как либы, в то время как pip это крайне не рекомендует и предлагает плодить процессы)


Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52

52. Сообщение от Аноним (53), 09-Окт-25, 17:56   +/
4. libzstd они таки линкуют статически. Вообще не понятно какого хрена она в колесе.
5. ломать не строить - из record-файла подчистить лишние файлы и пересобрать колесо 7zipом тривиально. Но почему я вообще должен это делать? Нормальные пакеты обычно делают так: у них есть pyproject.toml чтобы собрать через build, а если мы собираем через cmake, то cmake генерит свою sdist-директорию, где можно python3 -m build -nwx -- и соберётся колесо с уже предсобранной библиотекой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

53. Сообщение от Аноним (53), 09-Окт-25, 18:08   +1 +/
Это абсолютно не важно. То что он не умеет (на самом деле умеет, просто рудиментарно, что характерно - для тупых случаев вроде того, что обрабатывает OpenZL - как раз умеет!) в сериализацию (а в десериализацию он как раз умеет) - это абсолютно иррелевантно, так как они не собирались использовать ни компилятор KS (который требует JVM!), ни производимые им артефакты (исходник на различных языках). На самом деле им KS не подошёл потому, что им был нужен язык не только для описания форматов, но и для описания своих пайплайнов. Я полагаю (git не проверял), что они сначала сделали язык для описания своих пайплайнов, а потом уже прикрутили туда описание форматов, как ещё одну голову у Горыныча, на тот же язык, и чтобы не городить 10 языков в одном приложении - туда же в тот же синтаксис засунули описание форматов. Грязно, но практично.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

54. Сообщение от Аноним (54), 09-Окт-25, 18:24   +1 +/
И в чём он не прав?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

55. Сообщение от Аноним (55), 09-Окт-25, 18:25   +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.

Ответить | Правка | Наверх | Cообщить модератору

56. Сообщение от Аноним (54), 09-Окт-25, 18:25   +1 +/
Это как в том анекдоте. Сжимает хорошо и быстро, а разжимать мы пока не научилсь.
Ответить | Правка | Наверх | Cообщить модератору

57. Сообщение от Андрей (??), 09-Окт-25, 18:47   –1 +/
а чем вам tar+<что-то еще>, появившийся за 10 до rar, не угодил ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #60, #81

58. Сообщение от ИмяХ (ok), 09-Окт-25, 19:11   +/
То что закладка в xz лежала долгие годы - следствие лишь твоей личной лени и некомпетентности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

59. Сообщение от Аноним (55), 09-Окт-25, 19:15   +/
>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).

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62

60. Сообщение от аноним12 (?), 09-Окт-25, 19:19   +1 +/
Тут стоило бы сходу крыть аргументом что rar это просто мешанина файлов для юзерскихзадачь, а tar это слепок файловой системы с атрибутами, с симлинками даже вроде с дедупликацией, который в дальнейшем можно чем нибудь сжать, в том числе и rar-ом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #66, #67

61. Сообщение от аноним12 (?), 09-Окт-25, 19:32   +1 +/
Ну так не zli ни list-profiles ни другие файлы, зачем ты это делаешь, вот они у тебя и не сжимаются
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

62. Сообщение от аноним12 (?), 09-Окт-25, 19:49   +/
какой еще встроенный base64? HTML это дистилированный XML1.1 без неймспейсов и прочего, но поскольку его парсят/обходят полноценной xml-библиотекой с поддержкой полного стандарта, то глупо было не добавить встраивание SVG.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #89

64. Сообщение от Аноним (55), 09-Окт-25, 20:52   +/
Вот пример отсюда: https://openzl.org/api/c/graphs/sddl/#bitmap-images

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

Ответить | Правка | Наверх | Cообщить модератору

65. Сообщение от penetrator (?), 09-Окт-25, 21:37   +/
а никого не смущает пейсбук?

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #73, #83

66. Сообщение от Аноним (66), 09-Окт-25, 23:07   +2 +/
А можно вспомнить, что tar — это рудимент времён ленточных накопителей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #68

67. Сообщение от Аноним (33), 09-Окт-25, 23:26   +/
Дедупликация в tar это сомнительной живости клон. Но вот гну тар действительно наверно единственный вариант, позволяющий сохранить все метаданные и атрибуты из реальных архиваторов. Потом просто натравливаешь lrzip.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

68. Сообщение от Аноним (33), 09-Окт-25, 23:30   +/
Чёт ничего лучше так и не придумали. Ленточные накопители до сих пор самый надёжный и эффективный вариант хранения кстати, а жёсткие диски ни по объёмам ни по скорости по-моему так и не сравнились с плёнкой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #69

69. Сообщение от Аноним (66), 09-Окт-25, 23:41   +1 +/
> Ленточные накопители до сих пор самый надёжный и эффективный вариант хранения кстати

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #70

70. Сообщение от Аноним (33), 09-Окт-25, 23:46   +/
Ну в том числе таром. Лично я тар использую везде и для всего, другого варианта архивации всех ассоциированных данных не придумали по сути.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

71. Сообщение от morphe (?), 10-Окт-25, 04:27   +/
Свой DSL написать таки проще чем kaitai поддерживать, просто потому что в kaitai слишком дофига всего есть

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #88

72. Сообщение от Аноним (72), 10-Окт-25, 06:12   +/
7zip жмёт структурированные данные как мегатонный пресс, в зависимости от данных - в сотни-тысячи раз. Не зря его нет в сравнении.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #79, #84, #102

73. Сообщение от openssh_user (ok), 10-Окт-25, 06:13   +/
Никого не смущает Meta?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #76

74. Сообщение от Аноним (-), 10-Окт-25, 07:55   +1 +/
> Я имел в виду только язык описания структур. А генератор могли бы
> свой уже писать, хоть с сериализацией, хоть без. Всяко проще чем
> с нуля изобретать.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #82

75. Сообщение от Аноним (-), 10-Окт-25, 07:58   +/
> p.s. а лучше бы вообще уже выкупили rar у Рошала и сделали
> бы алгоритм открытым и бесплатным.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

76. Сообщение от Аноним (-), 10-Окт-25, 08:00   +/
> Никого не смущает Meta?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #95

78. Сообщение от ga (??), 10-Окт-25, 09:24   +/
> Не от любого, а от даров данайцев.

и каким боком тут xz тогда был притянут?
давайте тогда уж и линукс притянем, ведь пока вам не скажут что нашли вы самито не узнаете

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

79. Сообщение от заполнить поле Name (?), 10-Окт-25, 09:29   –1 +/
7z это мега странная штука в cli исполнении которая не умеет работать с пайплайнами.
Лучше использовать tar с lzma2.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

80. Сообщение от Аноним (80), 10-Окт-25, 09:59   –1 +/
Вы точно знаете, что такое 12 битные изображения, и для чего они нужны?
Про HDR изображения, проблемы, связанные обработкой таких изображений точно не читали.
Хотя бы с https://en.wikipedia.org/wiki/OpenEXR можно ознакомиться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

81. Сообщение от Аноним (10), 10-Окт-25, 12:38   +/
> а чем вам tar+<что-то еще>

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

83. Сообщение от Аноним (83), 10-Окт-25, 13:25   +/
https://github.com/facebook/zstd
Тебя пейсбук смущает и в ZSTD?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #97

84. Сообщение от Аноним (83), 10-Окт-25, 13:28   +1 +/
>Не зря его нет в сравнении.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

85. Сообщение от Я (??), 10-Окт-25, 14:25   +/
на самом деле не проще. проще какраз свои хотелки и нужды обернуть в специфичные структуры чем искать а что из уже существующего подходит под задачу. особенно на ранних этапах разработки когда ещё и не очень понятно а что же нам действительно нужно. апотом часто выходит у сильных програмистских коллективов что случайно родился технически конкурентный но [не] очень нужный для рынка продукт..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

87. Сообщение от Аноним (87), 10-Окт-25, 16:50   +/
Вот резво ты пермиссивщика в копирасты записал...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

88. Сообщение от Аноним (87), 10-Окт-25, 16:52   +/
Вообще-то Kaitai - это одно из лучших решений, что есть на рынке в этом направлении.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #92

89. Сообщение от Аноним (87), 10-Окт-25, 17:00   +/
>какой еще встроенный base64

Такой:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB/0lEQVR4AWL4D2icHGDtCMIo/C8uahtBbdt2w9q2rRi1bdu29WzbtvZu3870pN3sM/7kG58z5rxEFi+mrqBTaWNEKiGWLBEaSJLpmySZv6Fch4qPkg1k2XKySZMucuPGHc2ybD5SbgN99nGMaRPmzLlgnj79sAXlyWgbVqYBBpnBQJPJen78+F1i9eq1CNCgQfNErOIy+voDUwEDNLQEm1etqvxFFOUMSZI/tmkzrOaAAbMERUkiQL16TRSaNm1XRxTFLyBjxQrzJ2g2gubCypUV7bDfbkOHrpJatBhIjRu3Jc4VUtU0nXSjnJ2dSJGRvhQVFUC+vu4aY+y7gGsaJwji0yVL7oitWw8sTlikLTjYk+zsfjPOabR45gx/wTnbfuHCzNywsF9ksyXrJBnkb4uLCyJ7ezsN4vXQvhMJgcIenPTD8+cXqqmpYaTvHSQTMOppaTH0/fsPFeLr0BwpcAualjsnKyuFhYY6GLMiL0BsbBi28MfGOV9c5BrhqGArMueqMWvhlXCeRURcxli1iAGuxApnmUgxhImJYSACs/+vM5YJE7JirKGDwIjq4N8p+/i4UUCAr5KammYhROXKZlu9erLVYlEIIYCqILXwS6wG6OXLe8zJySEJ4oOotiCQmakeDA7OTvLxYcwYq0f+ryuDjWA8kIr52pLetz5//195nZ6wE5thOwAAAABJRU5ErkJggg=="/>


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #90, #91

90. Сообщение от Аноним (87), 10-Окт-25, 17:03   +/
Кстати, Чирков, пожми favicon через zopflipng. Станет 75% от текущего. Учитывая частоту скачки фавиконов - сэкономишь на трафике.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

91. Сообщение от аноним12 (?), 10-Окт-25, 18:56   +/
И причем тут HTML? data:<mime>;<type>,<data> это URL протокол, часть стандарта RFC. Ты можешь его просто в адресной строке открыть, или запросить через HTTP-GET запрос.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #94

92. Сообщение от morphe (?), 10-Окт-25, 22:57   +1 +/
> Вообще-то Kaitai - это одно из лучших решений, что есть на рынке
> в этом направлении.

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88 Ответы: #93

93. Сообщение от Аноним (93), 11-Окт-25, 00:58   +/
А если не для питона генерить, а для C++? Сериализации нет, да, но десериализацию в AST это ничем не портит. Да, для серьёзности лучше переписать, но не столько для скорости, сколько для избавления от рантайм-библиотеки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92

94. Сообщение от Аноним (93), 11-Окт-25, 01:01   +/
А притом, что качественная трансформация HTML для нужд хранения подразумевает его полный парсинг, в том числе парсинг и трансформацию всех дочерних объектов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

95. Сообщение от openssh_user (ok), 11-Окт-25, 05:28   +/
Это мне написал аноним. Но я всё равно принимаю к сведению его слова
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

96. Сообщение от Аноним (96), 11-Окт-25, 10:42   +/
те по идее теперь нужно встроить в него опцию чтобы он сам анализировал файл (долго), создавал в /tmp временный файл профиля и с ним сжимал. и для tar сделать что то типа cvfi
Ответить | Правка | Наверх | Cообщить модератору

97. Сообщение от penetrator (?), 11-Окт-25, 18:04   +/
zstd безусловно неплох, но все равно конечно смущает
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #99

98. Сообщение от 0xdeadbee (-), 11-Окт-25, 19:27   +/
> Много кто отлично сжимает, мало кто умеет делать это БЫСТРО.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

99. Сообщение от Аноним (83), 11-Окт-25, 22:57   +/
Просто Мета переманила к себе Yann Collet, автора lz4, zstd, xxHash. Не удивлюсь, если OpenZL тоже его творение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

100. Сообщение от Аноним (100), 13-Окт-25, 10:02   +/
с dwarfs бы ещё сравнили, между делом
Ответить | Правка | Наверх | Cообщить модератору

101. Сообщение от Anonimus (??), 13-Окт-25, 10:08   +/
На уровне файлухи как раз подходит, другое дело что кишка тонка вбухать в исследование бабки при этом без возможности их отбить, но получать люлей за факапы.
Все Васяны привыкли использовать диск как хранилище архивов, а подняться на уровень выше?  Зачем!
А бизнес не имеет такой Васянской генетики в своём поведении. Кроме разве что отдельных случайных Meta*. Но у них файлуха и не нужна, они выше этого.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

102. Сообщение от Anonimus (??), 13-Окт-25, 13:40   +/
Для ведра можно поставь плагин к 7Zip с этими ZST и Ко  и прифигеть с разницы в скорости при тех же размерах. Мне дополнительный 0.001 % за 10000 раз дольше нафиг не сдались. А при равных размерах (на 0.001 % больше) 7Zip очень нервно курит в сторонке, без шансов.
Фтопку, к сожалению и удивлению.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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