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

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

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

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

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

Fenrizz



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

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

 
GitHub - https://facebook.github.io/zstd  
Release v1.5.6 - https://github.com/facebook/zstd/releases/tag/v1.5.6
Total Commander plugin - http://franke.ms/download/wcx_zstd_1_1_3_5.zip
https://github.com/facebook/zstd/blob/dev/programs/zstd.1.md
https://manpages.ubuntu.com/manpages/focal/en/man1/zstd.1.html

Всего записей: 677 | Зарегистр. 12-09-2017 | Отправлено: 20:25 25-05-2020 | Исправлено: lelik007, 23:00 30-03-2024
2008dmx

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

Цитата:
Лучше этого?

 
ЛУЧШЕ, у меня эта ХРЕНЬ гуишная ваще НЕ заработала...
А 7zpt64 можно много штук паралельно запустить, у меня 5950X и 64GB-3733
Но этот софт извращение уже на жырныхфайлах, nanozip из 2011года лучше, даже если батниками
упаковывать и распаковывать...

Всего записей: 22 | Зарегистр. 31-01-2012 | Отправлено: 09:10 03-08-2023
lelik007



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

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 09:23 03-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
На 32-битке тоже?
 
Добавлено:
2008dmx
Цитата:
nanozip из 2011года лучше
Так он ж вроде не шибко доработан был в глубокой альфе? Читал, что иногда данные портит при сжатии и надо каждый архив тестировать...
 
Добавлено:
Кстати, вот эту цацку из шапки (только что увидел)
Цитата:
Total Commander plugin - http://franke.ms/download/wcx_zstd_1_1_3_5.zip
кто-то пробовал?
Заглянул внутрь, там 2017й год внутри... С тех пор явно что-то существенно поменять стоило бы...

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 18:08 03-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
32-битную я не проверял, у меня все 64 бита, TC (плагины и кодеки) и ZSTD тоже.  
Плагин мягко сказать староват, не рискнул пробовать. Там могут вылезти проблемы с несовместимостью
какие либо. Я остановился на Modern7zip им и жму.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 21:37 03-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Вот я на плагин как посмотрел, так и мимо иду.
Другое дело, что раз разраб добавил поддержку чтения этих zstd, то можно попробовать более плотно поизучать консольную версию для упаковки.
Есть какие-то особенные заморочки, чтобы получать самое максимальное сжатие при конкретно задаваемом словаре? Например, пусть будет словарь в 256 МБ, что тогда лучше в портянку комстроковую взять для выжимания всех возможностей упаковщика?

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 15:58 04-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
zstd.exe --long=28 -12 -v -T4
Я ничего особо не пишу, --long=28 -словарь 256 Мб, -v - подробный вывод, -T4 кол-во потоков - но он каждое ядро грузит на 100% без шуток, можно но одно ядро или поток меньше указать.
Уровни сжатия -12 - скорость как у Zip в том же TC, а сжатие лучше, т.е. очень быстро -18 - будет как Rar5 и по скорости и по сжатию. Уровнями --ultra которые с 20-22 я вообще не пользуюсь, т.к. время может такое же, может и чуть меньше и чуть больше чем 7-zip в 3 потока, а сжатие всегда хуже.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 16:28 04-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я вот, наткнулся, что у меня в тестовой папке для сабжа есть вот такой батничек
Код:
zstd.exe --format=zstd --ultra -22 --long=31 --zstd=hlog=30,clog=30,slog=29,tlen=9999 -- "%1"
и теперь крайне напряжённо пытаюсь вспомнить что там к чему относится.
 
Добавлено:
Если я правильно понимаю, то кусок "--long=28 -12" сопоставим с "--long=31 --ultra -22", но остальную портянку ещё поди разбери вспомни...

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 16:34 04-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я уже писал про этот портянку, типа макс. сжатие, но это неправильно, tlen вообще больше 128 не бывает.
-zstd=hlog=30,clog=30,slog=29,tlen=9999 - это fine tuning - все эти параметры задаются автоматически в зависимости от уровня сжатия и это должно быть сильно нужно зачем то их трогать. Я с ними поигрался и оставил по дефолту.
 
"--long=31 --ultra -22" - Словарь 2 Гб - макс для 64 бит, для 32 - --long=30 - 1 Гб
--ultra - просто активирует ультра-настройки с -20-22
Кстати исходя из этой портянки он вообще в 1 поток будет жать, как по умолчанию.
-T(N) обязательно задавать, если нужен многопоток.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 16:53 04-08-2023 | Исправлено: lelik007, 16:58 04-08-2023
insorg



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

Цитата:
-T(N)

Да, я уже нашёл в мануале про -T0 для использования всех доступных потоков, чтоб гвоздями не прибивать. Но что-то мне подсказывает, что как и с другими алгоритмами, от роста многопотока будет страдать качество сжатия. Найти бы то оптимальное, выше которого прыгать бесполезно...
 
Добавлено:

Цитата:
должно быть сильно нужно зачем то их трогать

Выбрасываю, значит.
 
Добавлено:
У меня, кстати, 32-битка с "--ultra -22 --long=27" уже ругается на недостаток памяти, при этом с "--ultra -22 --long=26" замечательно в свои лимиты вкладывается и пакует.  
Как получить обещанный гиг на 32-битке? Только ценой скидывания -22 в самое дно до уровня -1 ?

Разобрался. Просто сжатие выше -19 нельзя ему давать.

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 17:04 04-08-2023 | Исправлено: insorg, 17:20 04-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Это не LZMA/2 - он от кол-ва потоков только ускоряется, сжатие ровно тоже,
про потоки - это особенность LZMA. У меня на компах теперь мин. 16 Гб, я на потребление памяти не сильно смотрю. А вот проц. он нагрузить может. Я обычно -T(Max-1) делаю.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 18:27 04-08-2023 | Исправлено: lelik007, 19:16 22-02-2024
GoblinNN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
поспорь с автором https://github.com/facebook/zstd/issues/2730

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 20:24 04-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче, вроде вспомнил что к чему. С одной стороны, ничего ценного сам по себе формат (с точки зрения максимального сжатия) не даёт, больше одного файла на архив не умеет, даже время и имя файлов не умеет хранить. Похоже, просто очередная альтернатива для bz, gz и им подобных "оболочек" над tar.
 
Зато обнаружил интересный и приятный бонус - это достаточно экономный расход памяти на больших словарях. По сути, при настройке
Код:
--format=zstd -19 --long=31 -T0
c 2 ГБ словарём расход оперативки аж ~2,6 ГБ на упаковке. Это очень приятные значения, когда нужно найти одинаковые/похожие куски данных на большой дистанции в файле, который сам по себе уже почти не жмётся. Сценарий очень специфичный, но у меня вполне возможный. Жаль, правда, что нужен он зачастую на ХР, а не современной винде, а на ней zstd не работает.
 
Добавлено:
Зато скорость чтения упакованных данных радует. Даже на дохлом тестовом офиснике ворочается вполне шустро.
Хоть что-то хорошее, среди остальных недоработок и неудобств.

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 22:30 04-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Это такой Rar 5 бесплатный и Open Source для Linux. У него похоже какое то динамическое выделение памяти, что у меня 8 ГБ было, ему хватало, что 16 тоже. Но при 16 он потребляет больше. Почему на современной винде ZSTD не работает?
Вообще, я его использую в связке TC+Total7zip+Modern7zip. Им же в TAR POSIX добавил, им же и сжал.
В параметрах пишу d=2Gb mt=N x=N, все...

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 18:03 05-08-2023 | Исправлено: lelik007, 19:17 22-02-2024
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Цитата:
такой Rar 5 бесплатный  
Сильное заявление. Нет ни томов, ни меток времени, ни больше одного файла на архив, ни рекавери...
Скорее, просто прокачанный bzip или gzip на стероидах с большими словарями. Это сравнение будет более корректным.
Цитата:
что у меня 8 ГБ было, ему хватало
У меня тестовый комп с 8 ГБ рамы, из которых Win11 сама по себе где-то полтора сожрала, ещё встройка видео 768 МБ (без возможности её уменьшить, к сожалению), итого остаётся доступным около 5 ГБ свободных на всё про всё. В этих условиях потолок использования 7z - 512 МБ, rar5 - тоже 512 МБ (до 1 ГБ буквально чуть не хватает), но для zstd внезапно 2 ГБ перевариль запросто (-19 --long=31), ещё и с меньшим расходом, чем у 7z на 256 МБ (на ультра, другое не беру).
Цитата:
Почему на современной винде ZSTD не работает?  
Не на современной, а на ХР, я про неё писал. Мне он был бы с такими словарями подошёл в связку с ХР, на которой у меня бывают подходящие для zstd данные, как раз требующие больших словарей.
Цитата:
использую в связке TC+Total7zip+Modern7zip
Я, пока что, на третью ступень в виде Modern7zip смотрю издалека, играюсь с консольной версией. Тем более, всё равно без возможности упаковать больше 1 файла на архив, специально подготовить для него tarы я смогу намного лучше и с более подходящей сортировкой, чем это сделает автоматика (если Modern7zip в .tar.zst вообще умеет).
 
Добавлено:
Кстати, обнаружил неприятный момент. Для распаковки через консольную zstd нужно на >128 МБ словари указывать извращение вида "--memory=2048MB" (где количество МБ он предлагает равным размеру словаря). Вроде пробовал циферки больше чем словарь, проблем тоже не обнаружил. Но...
Универсальные числа есть, чтоб он не ругался и просто работал, не пожирая лишнего?

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 18:30 05-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
При распаковке нужно указывать тот словарь или не меньше чем указано при упаковке - то есть опять --long=N(27?)

Цитата:
Сильное заявление.  

Я про степень сжатия, не про формат. Вообще, ZSTD - архиватор реального времени для потока данных.
Он для сжатия данных в реальном времени без тормозов на высокоскоростных соединениях и устройствах,
со степенью -4..-8  А то что прикручены режимы Ultra - так это до одного места.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 19:25 05-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Цитата:
прикручены режимы Ultra  
Ну вот, я их повертел, разница этих ультров от 19 - жалкие пара процентов разницы, более интересны максимальные словари, которые на некоторых компах с недостатком памяти становятся просто недоступны.
Цитата:
есть опять --long=N(27?)  
Видимо, сразу лонг 31 писать, чтоб с гарантией.

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 20:09 05-08-2023
lelik007



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

Цитата:
Видимо, сразу лонг 31 писать, чтоб с гарантией.  

С гарантией да, но если знаешь с каким паковал, его и писать.

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 20:18 05-08-2023
insorg



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

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 20:35 05-08-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Переделал из типа-официальной картинки набор иконок для более удобного навешивания ассоциаций на батники распаковки и упаковки.
   
Забирать здесь: https://www.upload.ee/files/15560194/zstd.icl32.html
 
Добавлено:
Набор иконок подогнан под размер 32х32, который удобно использовать для ассоциаций файлов в проводнике, для кнопочек в коммандерах (всякие тотал, дабл и тому подобные). Адекватно смотрятся в стандартном размере 16х16 рх.

Всего записей: 16767 | Зарегистр. 04-11-2010 | Отправлено: 04:52 11-08-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Время мерялось функцией PowerShell 5.1 - Measure-Command {} , 4 ядра / 8 потоков с HT, максимально возможный словарь - 2 Gb. 12 - мое штатное сжатие для ZSTD, 22 - максимальное.
Получается:

Код:
tar cfv ndp48-x86-x64-allos-enu.tar ndp48-x86-x64-allos-enu
: 6 секунд.
перезагрузка

Код:
zstd.exe -12 -T0 --long=31 ndp48-x86-x64-allos-enu.tar
: 12 секунд.
ndp48-x86-x64-allos-enu.tar :  5.62%   (  2.36 GiB =>    136 MiB, ndp48-x86-x64-allos-enu.tar.zst)
перезагрузка

Код:
zstd.exe -22 --ultra -T0 --long=31 ndp48-x86-x64-allos-enu.tar
: 3 минуты 8 секунд.
ndp48-x86-x64-allos-enu.tar :  4.84%   (  2.36 GiB =>    117 MiB, ndp48-x86-x64-allos-enu.tar.zst)

Всего записей: 2772 | Зарегистр. 13-10-2006 | Отправлено: 23:02 15-02-2024 | Исправлено: lelik007, 23:10 15-02-2024
Открыть новую тему     Написать ответ в эту тему

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru