Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Zstandard | zstd

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Открыть новую тему     Написать ответ в эту тему

Fenrizz



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Цитата:
Zstandard — алгоритм сжатия данных без потерь, разрабатываемый с 2015 года Яном Колле (фр. Yann Collet) при поддержке Facebook'а; zstd — эталонная реализация алгоритма Zstandard на языке программирования Си под свободной лицензией BSD. Версия 1.0 алгоритма и реализации были представлены в конце августа 2016 года.  
 
Сочетает словарный алгоритм сжатия данных типа LZ77 и эффективное энтропийное кодирование типа tANS (FSE — Finite State Entropy), алгоритм, сходный с кодом Хаффмана, реализующий нецелое количество бит для хранения символов.  
 

Официальный сайт: https://facebook.github.io/zstd  
Последний релиз: v1.5.7, 20.02.2025 https://github.com/facebook/zstd/releases/tag/v1.5.7
Руководство пользователя: https://github.com/facebook/zstd/blob/dev/programs/zstd.1.md
Total Commander plugin - http://franke.ms/download/wcx_zstd_1_1_3_5.zip

Всего записей: 697 | Зарегистр. 12-09-2017 | Отправлено: 20:25 25-05-2020 | Исправлено: lelik007, 19:10 26-02-2025
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los

Цитата:
zstd значительно шустрее, что для web очень существенно.  

Да и более освоен, я так сказал, бы.

Цитата:
Достаточно странный аргумент.

Не очень, когда почитаешь "Issues" на Github, во многих случаях выясняется, что проблема затрагивает специфически только Windows версию. Да и использование 7zxa.dll для распаковки различных форматов в Windows программах гораздо привычнее видеть, чем libarchive.
 
Вообще, есть "Issue" почему убрали релиз, посмотрим, что Янн ответит.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 16:49 30-03-2024 | Исправлено: lelik007, 23:27 30-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сказали, прощения просим, по ошибке релиз удалили, когда делали новые теги, больше так не будем, с уязвимостью не связано, можете пользоваться. Короче, троянских коней не завозили, а не ту кнопку следующий раз нажимать уж не будем.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 23:02 30-03-2024 | Исправлено: lelik007, 23:25 30-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скачал релиз, сравнил, побайтово идентичен с прошлым.  
 
Добавлено:
Да и кстати, такой вопрос. Про уязвимость писали же, что она в XZ, а не zstd. Или он тоже умеет в XZ паковать, чтобы попадать в зону риска?

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 23:50 30-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Умеет, если собран с их поддержкой.

Цитата:
--format=FORMAT: compress and decompress in other formats. If compiled with support, zstd can compress to or decompress from other compression algorithm formats. Possibly available options are zstd, gzip, xz, lzma, and lz4. If no such format is provided, zstd is the default.

Уязвимость в библиотеке liblzma комплекта XZ Utils v5.6.0 и v5.6.1, значит в zstd другой код lzma и xz - либо liblzma не подверженные уязвимости, либо, вообще, без них собран.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 00:22 31-03-2024 | Исправлено: lelik007, 06:23 31-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот я смотрю на этой официалке
 

Цитата:
  --format=zstd                 Compress files to the `.zst` format. [Default]


Цитата:
  --format=gzip                 Compress files to the `.gz` format.

 
Других вариантов на  --format не наблюдаю.
 
Добавлено:
Видимо, это уже будет заботой сторонних версий.
 
Добавлено:
Как минимум в ней, не прослеживается ни xz, ни просто lzma...

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 00:32 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Значит без поддержки этих форматов собран, не знаю как ты смотришь, нужно zstd -vvV. В v1.5.4 еще есть поддержка LZMA, кстати судя по версии 5.4.1, как раз liblzma не подверженная уязвимости.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 00:41 31-03-2024 | Исправлено: lelik007, 06:25 31-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Я читал встроенный хелп
zstd.exe --help >> help.txt
 
Добавлено:

Цитата:
нужно zstd -vvV

Результат:

*** Zstandard CLI (32-bit) v1.5.6, by Yann Collet ***
*** supports: zstd, zstd legacy v0.5+, gzip
zlib version 1.3.1
lz4 version Unsupported
lzma version Unsupported
PLATFORM_POSIX_VERSION defined: 0L

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 00:45 31-03-2024 | Исправлено: insorg, 00:46 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Ну так, считай уже 2 версии lzma отключено, какие там уязвимости. Но это для Windows версии, а для Linux, как кто собрал.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 00:51 31-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Действительно, старая версия умеет lzma...

*** Zstandard CLI (64-bit) v1.5.4, by Yann Collet ***
*** supports: zstd, zstd legacy v0.5+, gzip, lzma, xz
zlib version 1.2.13
lz4 version Unsupported
lzma version 5.4.1
PLATFORM_POSIX_VERSION defined: 0L

 
Добавлено:
Да и насчёт lz4 странно как-то. Вроде не настолько старый релиз - конец 2022 года
https://github.com/lz4/lz4/releases
Автор тот же, а тут не используют, хотя поддерживаться могло бы...
 
Добавлено:
Бегло глянул что оно может (lz4 -H), попробовал упаковать его же собой же, а потом его же другими попавшимися под руку вариантами:
LZ4.TAR.7z     316 945    
LZ4.TAR.lz4    496 459    
LZ4.TAR.rar    360 584    
LZ4.TAR.zst    349 617    

Не так чтоб сильно впечатлило степенью сжатия. Годится разве что для конкуренции с deflate/gzip/bzip, не более того.
 
Добавлено:
Паковал с параметром -12, если что.

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 00:52 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
У LZ4 ранее были 2 достоинства, 1 - он был сильно быстрее ZSTD при упаковке на низких уровнях, 2 - сильно быстрее при распаковке, всего, что можно представить. 1 достоинство частично нивелировалось многочисленными оптимизациями ZSTD, 2 так и осталось. Но, при таких вводных, высокого коэффициента сжатия ожидать не стоит, от слова совсем. Из практического применения видел только в OpenVPN и то насколько авторы OpenVPN рекомендуют сжатие, вообще.

Цитата:
Годится разве что для конкуренции с deflate/gzip/bzip, не более того.

А как же, только по скорости, а не по степени сжатия.
В некоторых дистрибутивах Linux ZSTD собран с поддержкой LZ4, но не помню, где видел, это los лучше знает.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 06:20 31-03-2024 | Исправлено: lelik007, 17:34 31-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Так, собственно, оно под такое применение и выглядит. Такое себе типа-лёгкое сжатие на минималках, по сути от избытка нулей избавиться, или для какого-то совсем простого случая.

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 07:36 31-03-2024
neorumtu

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как раз самое востребованное сжатие, как в NTFS.

Всего записей: 884 | Зарегистр. 30-08-2023 | Отправлено: 19:13 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
neorumtu
Согласен, но, поскольку у LZ4, ZSTD, XXHash авторы одни, все лучшее, что было в LZ4 уже взяли в ZSTD, он теперь и сам очень быстрое сжатие умеет до уровня - 3, еще и с изменяемым long range mode ~ (скользящим окном) - чего нет у LZ4, обеспечивающим лучше сжатие, то есть более гибкая конечная реализация, которую можно настроить как на приоритет - скорость, так и на приоритет - сжатие.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 19:41 31-03-2024 | Исправлено: lelik007, 19:43 31-03-2024
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007, самому собирать zstd  с нужной поддержкой - lz4, lzma ...  у пользователей Windows не принято?  

Всего записей: 7964 | Зарегистр. 08-09-2001 | Отправлено: 22:34 31-03-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
А зачем? Для LZ4 есть своя утилита (ссылка выше в моём посте), а для LZMA есть нормальный человеческий 7zip, который пакует дофига чего.
Нет смысла дублировать одно с другим, ещё и в столь неудобном синтаксисе применения.

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 22:37 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Не видал такого, просто из опыта, возможно для себя кто то делает. Последнее, чем Windows пользователь подумает сжать алгоритмом LZMA(2)  - будет XZ или ZSTD. LZ4 тоже хоть как не встречал.
Вообще, insorg правильно написал. 7-zip крайне популярен, в частности потому, что и распаковывать многое умеет и есть GUI для сжатия LZMA(2) - 7zG.exe, больше им пользуются, а 7z.exe (CLI) - только опытные пользователи. Поэтому у Игоря Павлова и просят, добавь, мол, ZSTD в 7z-контейнер. К Tar никто не привык, вообще, да и CLI многим сложно. Хотя, могут некоторые и на применение фильтров типа BCJ2 с алгоритмом ZSTD рассчитывать в этом случае. Архивов .7z достаточно много, а XZ не делает никто.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 23:02 31-03-2024 | Исправлено: lelik007, 08:41 01-04-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вообще, все эти .tar.xz - то ещё надругательство над lzma. Если на какой-то мелочи это ещё можно читать, то на больших архивах - просто глупо даже паковать такое. Что разбирать это - не удобно, что хрен по файлам раздельно применишь фильтры, что сортировку толковую не выполнить... Тут только .7z без вариантов.
За столько лет страданий уже давно пора было уйти от этих промежуточных лишних tar, тем более что работающих альтернатив - полно.

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 23:52 31-03-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Ты не понял контекст вопроса los, в Debian 12.5 - пакет ZSTD v1.5.4, Ubuntu 22.04 LTS - v1.4.8, Янн Колле с Ником Терреллом не будут пакеты под каждый дистрибутив собирать, это делают мейнтейнеры дистрибутивов Linux, согласно политике дистрибутива. А пользователи сами собирают последнюю версию, как им уже нужно.
los
В Windows и правда не принято, если что то с выложенными бинарными пакетами из официального репозитория не так, тут уже и "Issue" открыта. С поддержкой liblzma и LZ4 не видал, чтобы просили собрать, наверное, поэтому и перестали. В смысле, я как типичный пользователь Windows, если бы мне это было нужно, попросил Янна или Ника.

Всего записей: 3410 | Зарегистр. 13-10-2006 | Отправлено: 08:24 01-04-2024 | Исправлено: lelik007, 08:27 01-04-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Логично же. У виндов с совместимостью всё в порядке. В отличие от хреновой кучи никсов, каждый из которых вечно норовит извернуться в чего-нибудь своё, из-за чего "чужие" бинарники становятся бесполезными.... Потому и лишних танцев с ранней стадией гентушничества не требуется.

Всего записей: 20066 | Зарегистр. 04-11-2010 | Отправлено: 19:41 01-04-2024
Bersaglio



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zstd 1.5.6 32-bit для Windows XP SP3 и выше. Пароль стандартный.
 
Автору дизреспект - из за этого

Код:
#define ZSTD_pthread_cond_init(a, b)    ((void)(b), InitializeConditionVariable((a)), 0)
#define ZSTD_pthread_cond_destroy(a)    ((void)(a))
#define ZSTD_pthread_cond_wait(a, b)    SleepConditionVariableCS((a), (b), INFINITE)
#define ZSTD_pthread_cond_signal(a)     WakeConditionVariable((a))
#define ZSTD_pthread_cond_broadcast(a)  WakeAllConditionVariable((a))

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

Код:
zstd.exe -vvV

 
И кстати, никто не видел финальной версии liblzma? На github я не нашёл, с сайта тукана качается именно та версия. что на борту моей экзешки...

Всего записей: 4643 | Зарегистр. 21-08-2006 | Отправлено: 12:54 11-04-2024 | Исправлено: Bersaglio, 12:29 12-04-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Компьютерный форум Ru.Board » Компьютеры » Программы » Zstandard | zstd


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru