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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
los

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

Цитата:
Вот и посмотрел режимы возможные на большем файле.

а как же -T0 и
zstd --train FullPathToTrainingSet/* -o dictionaryName
zstd -D dictionaryName FILE
упущение

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 11:50 16-02-2023
lelik007



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

Цитата:
-T0

Почему же не пробовал. Кому-то в теме Winrar загрузки процессора не хватало. Так ZSTD без дураков грузит ЦП на 100% - можно вместо Linpack или OCCT использовать. Ничего в этот момент делать нельзя. Я отменил команду.
 
Про словарь написано для набора маленьких файлов или сообщений. Это вроде экстраполяции - у тебя есть, например логи или хеши за понедельник и вторник, в папках соответственных. Можно на них потренировать ZSTD, создать файл словаря и когда у тебя будут файлы за все дни недели, жать он уже с этим словарем будет быстрее. Как то так. Про логи я сам придумал, я не знаю, где в Web или серверах используется набор подобных маленьких файлов. Но это режим для какого то использования, которого у меня нет.
 
Добавлено:
Вот тут в основном написано, почему этот режим есть:
https://github.com/facebook/zstd#the-case-for-small-data-compression

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 15:29 16-02-2023 | Исправлено: lelik007, 21:27 20-02-2024
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Я еще посмотрел ZSTD используется в БД - может этот режим (словарный) под транзакции подходит.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 17:39 16-02-2023
neorion

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В архиваторах меня всегда интересовала скорость, а не уровень сжатия, ведь машина у меня не топовая. Все архиваторы сравниваю на быстрейших настройках (даже они часто дают экономию размера более 2x). И здесь лидер rar4 (потом rar5). rar уделывает 7z и zip на быстрейших настройках. Что-то сомневаюсь, что будет zstd лучше. arc кстати еще быстрее.

Всего записей: 448 | Зарегистр. 02-10-2022 | Отправлено: 01:38 17-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для быстрого сжатия в ZSTD есть режимы 6-12, их специально оптимизируют, вроде достаточно быстрые и сжимают неплохо с большим размером окна (словаря). Хотя тоже в сколько потоков.
zstd.exe --long=31 -(6-12)  -v -T(2...n)
Конечно Евгений про Winrar 5 говорил, что у него задача скорость, а не макс. сжатие.
Я их на быстрых режимах лоб в лоб не тестировал.
 
У автора (Yann Collett) есть еще LZ4
https://github.com/lz4/lz4
- тот как раз именно на скорость и задумывался. Но я его не тестировал еще основательно.  
 
В принципе я вот это и погонял, режимы посмотреть:  
http://forum.ru-board.com/topic.cgi?forum=5&topic=50540&start=80#18
Меня скорость устроила, вообще я дочитал руководство  Aniskin по Modern7z - погонял вчера на сжатие, разница с zstd.exe - 2-3 секунды, мне не критично. Можно даже как GUI из 7-zip использовать, если не нужен fine tuning.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 10:55 17-02-2023 | Исправлено: lelik007, 17:18 25-02-2024
los

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

Цитата:
У автора (Yann Collett) есть еще LZ4  

достаточно популярная штука даже apple включила его поддержку в macOS, а она как правило не спешит с подобными нововведениями.

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 15:02 17-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
А вы не пробовали сами LZ4? Как ему макс. сжатие указать?
Меня еще смущает следующее. В man вот это место:
https://man.archlinux.org/man/lz4.1
 
In some cases, some options can be expressed using short command -x or long command --long-word. Short commands can be concatenated together. For example, -d -c is equivalent to -dc. Long commands cannot be concatenated. They must be clearly separated by a space.
 
То есть он как пример, приводит команды: short command -x or long command --long-word
А дальше в тексте их нет. Не объясняется какие у них параметры.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 17:08 20-02-2023 | Исправлено: lelik007, 17:18 25-02-2024
Inoz2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Long word это длинное слово буквально - не трудно понять.

Всего записей: 4916 | Зарегистр. 23-04-2009 | Отправлено: 17:33 20-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inoz2000
Я знаю, что это такое, а какие оно значения принимает, какое дефолтное, это не поясняют, как например в ZSTD.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 17:38 20-02-2023 | Исправлено: lelik007, 21:30 20-02-2024
GoblinNN

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

Цитата:
Как ему макс. сжатие указать?

там же встроено все. ну...
Подробнее...
lz4 -12 filename.ext
максимальное.

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 18:20 20-02-2023 | Исправлено: GoblinNN, 18:27 20-02-2023
Lucky1978

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Это не команда, это пример, как выглядеть должна несокращённая команда.
Типа -z = short-word, --compress = long-word. Команды --long-word не существует, тут читать просто long-word буквально надо.

Всего записей: 321 | Зарегистр. 27-03-2006 | Отправлено: 19:17 20-02-2023 | Исправлено: Lucky1978, 19:21 20-02-2023
los

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

Цитата:
 В man вот это место:  

man просто безобразно написан(у zstd ненамного луше) и здесь подразумевается что используется смешанный стиль posix(-x) и gnu(--long-word) команды '-x' и '--long-word' взяты для примера, также при использование posix стиля допускается '-cd' и '-c -d' - достаточно распространенная практика..

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 19:21 20-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lucky1978
los
Понял, но странно, конечно, вот и приводил бы в пример -z, --compress.
А так да, мануал кривонький.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 20:05 20-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Интересно, что в мануале ZSTD с Arch и Ubuntu, видимо для сборок Linux можно в LZ4 паковать прямо из ZSTD, а в Windows нет этого формата, только первые 4.
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.
GoblinNN
Я почитал всю справку встроенную вчера по LZ4, ничего, что могло бы радикально улучшить компрессию не нашел. Как макс. уровень задать, то я понимаю. Еще вчера попробовал наконец Brotli, что вы давеча выкладывали, того же смысла сжатие как ZSTD, тоже скользящее окно (сразу видно LZ77) - только реализация хуже и время подольше и жмет похуже. Не зря видно Yann не только метод выложил - но и программа есть и оптимизируют как то и баги правят.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 15:35 21-02-2023 | Исправлено: lelik007, 17:20 25-02-2024
los

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

Цитата:
видимо для сборок Linux можно в LZ4 паковать прямо из ZSTD

при условии что zstd собран с поддержкой lz4 и т.п.

Цитата:
Не зря видно Yann не только метод выложил - но и программа есть и оптимизируют как то и баги правят.

brotli тоже на месте не стоит
https://github.com/google/brotli

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 16:17 21-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN
All
Вспоминая ваши слова про соотношение процента сжатия к кол-ву времени из другой темы, может поиграю в КО конечно. Решил опробовать ZSTD IRL таким образом - сжать все .iso образы имеющиеся. Очень подходящее применение - их и в Tar заворачивать не требуется. Вот что получилось. Все результаты представить не могу, по в среднем по больнице.
Например:
Measure-Command {.\zstd.exe --long=31 --ultra -22 -v -T2 ru-ru_windows_10_business_editions_version_22h2_updated_feb_2023_x64_dvd_4ccde0ea.iso}
Minutes:27 Seconds:25
4,7G
 
А вот так:
Measure-Command {.\zstd.exe --long=31 -12 -v -T2 ru-ru_windows_10_business_editions_version_22h2_updated_feb_2023_x64_dvd_4ccde0ea.iso}
Minutes:2 Seconds:40
4,72G
 
И со всеми доступными .iso такая же песня. Можно ждать полчаса на Ультре из-за 20-40 Мб, а можно за минуты и где то секунды сжать до нормального состояния, от уровня 12 - сжатие не растет сильно, а вот время кратно увеличивается.

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 17:14 28-02-2023 | Исправлено: lelik007, 17:31 28-02-2023
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007, не знаю обратили ли внимание: у zstd как и у brotli есть непривычная особенность - если файл уже сжат с помощью zstd и имеет расширение *.zst программа zstd все равно будет его обрабатывать и присваивать суффикс zst.
zstd foo ->foo.zst
zstd foo.zst ->foo.zst.zst
brotli foo ->foo.br
brotli foo.br ->foo.br.br
Это отличается от поведения compress, xz, gzip...

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 19:10 28-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Интересно, но я не пробовал никогда:

Цитата:
zstd foo.zst

А вот что я заметил, что уровень 14 заколдованный. На нем сжатие сильно медленнее чем на 12, а результат часто, вообще больше. Я его не беру. Если есть время то сразу 16-18.
 
Хотел дописать в предыдущем сообщении, единственный образ разница на котором 80 Мб получилась на --ultra -22 2.7 G -> 1.5 G - но я ждать умучался...

Всего записей: 2764 | Зарегистр. 13-10-2006 | Отправлено: 19:42 28-02-2023
los

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

Цитата:
Интересно, но я не пробовал никогда:  

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

Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 22:28 28-02-2023
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Цитата:
уровень 14 заколдованный
Может, просто несбалансированный или кривой?

Всего записей: 16685 | Зарегистр. 04-11-2010 | Отправлено: 22:49 28-02-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 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