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

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



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

Цитата:
time zstd --long=31 --ultra -22 --zstd=clog=30,hlog=30,slog=29,mml=7,tlen=128,strat=9 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar : 10.85%   (704999424 => 76515502 bytes, ndp481-x86-x64-allos-enu.tar.zst)
6:31.76
 

Странный результат, возможно памяти не хватает и своп серьезный идет... время очень большое.
 
У меня обычный zstd 1.5.2 Win64 со страницы проекта.
 
В общем ничего круче этого по времени и степени сжатия чем:
zstd --long=31 --ultra -22 --zstd=clog=29,hlog=29,slog=29,mml=7,tlen=128,strat=9
не увидел, при использовании 4.8-4.9 Гб памяти.  
 
это конечно еще круче и все значения макс. возможные
time zstd --long=31 --ultra -22 --zstd=clog=30,hlog=30,slog=29,mml=7,tlen=128,strat=9 ndp481-x86-x64-allos-enu.tar - но сколько он памяти там жрет, даже не знаю. Может 6-7 Гигов.
 
а если сильно памяти нет то - zstd --long=31 --ultra -22 - 2 Гб - не так и много.
 
Еще надо сказать, что эти опции - они уже заданы для каждого профиля архивации,
clog,hlog,slog,mml,tlen,strat - в нашем случае ultra - не нечто новое вписываем, просто переопределяем.
 
Короче, что там подкрутить или для уменьшения времени или для увеличения сжатия, я не знаю уже.

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 20:14 08-02-2023 | Исправлено: lelik007, 20:46 08-02-2023
GoblinNN

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

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 00:52 09-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN
Это автовыбор уровня компрессии --adapt=min=1,max=22,
не понял для чего это - я сам могу решить какой мне уровень нужен.

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

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007, проверил кое-что на v1.5.2 разница приличная.
time -p zstd --long=31 --ultra -22 --zstd=clog=29,hlog=29,slog=29,mml=7,tlen=128,strat=9 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar : 10.71%   (   672 MiB =>   72.0 MiB, ndp481-x86-x64-allos-enu.tar.zst)
real 55.23

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
Я собственно что показать то хотел - влияние опции mml
чем она больше (3-7), тем меньше время и больше размер архива. И наоборот, чем она меньше,
тем меньше размер архива, но больше время.
 
zstd.exe -v --long=31 --ultra -22 --zstd=clog=29,hlog=29,slog=29,mml=3,tlen=128,strat=9 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar :  9.94%   (   672 MiB =>   66.8 MiB, ndp481-x86-x64-allos-enu.tar.zst)
Minutes           : 2
Seconds           : 24
 
zstd.exe -v --long=31 --ultra -22 --zstd=clog=29,hlog=29,slog=29,mml=7,tlen=128,strat=9 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar : 10.71%   (   672 MiB =>   72.0 MiB, ndp481-x86-x64-allos-enu.tar.zst)
Minutes           : 1
Seconds           : 41
 
У вас последний результат очень даже сопоставим с моим. Просто железо мощнее - сразу видно.
 
Добавлено:
НО, вот это конечно -...
 
zstd.exe -v --ultra -22 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar : 23.65%   (   672 MiB =>    159 MiB, ndp481-x86-x64-allos-enu.tar.zst)
Minutes           : 5
Seconds           : 44
 
 
zstd.exe -v --long=31 -12 ndp481-x86-x64-allos-enu.tar
ndp481-x86-x64-allos-enu.tar : 11.94%   (   672 MiB =>   80.3 MiB, ndp481-x86-x64-allos-enu.tar.zst)
Minutes           : 0
Seconds           : 16
 
То есть он на своих ультрах без опции --long=31 жмет до 159 MiB за 5 минут 44 секунды,
а с таковой опцией на 12-м уровне жмет до 80.3 MiB за 16 секунд!
 
Чувствую, каким то таким манером дистрибутивы и пакуют.

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 17:34 09-02-2023 | Исправлено: lelik007, 23:09 09-02-2023
GoblinNN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обнова
https://github.com/facebook/zstd/releases/tag/v1.5.4

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 13:43 10-02-2023
los

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

Цитата:
обнова

судя по изменениям программа стала еще шустрее.

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

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

Цитата:
Zstandard v1.5.4 is a pretty big release benefiting from one year of work, spread over > 650 commits. It offers significant performance improvements across multiple scenarios, as well as new features (detailed below). There is a crop of little bug fixes too, a few ones targeting the 32-bit mode are important enough to make this release a recommended upgrade.

перевод от гугла

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 14:06 10-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот интересно, посмотрел я вчера в Ubuntu 20.04.1 WSL - версия 1.4.8 - а где новее взять? Самому собирать? Или сторонний репозиторий подключать?

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 14:31 10-02-2023
GoblinNN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
имхо, wsl это какая-то пародия на линукс. по мне так или отдельным разделом полноценный линукс или вот https://github.com/facebook/zstd/releases/download/v1.5.4/zstd-v1.5.4-win64.zip

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 15:26 10-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN
В самой Ubuntu 22.04.1 этот пакет 1.4.8 - WSL она или нет, а уже для 22.10 - идет 1.5.2,
но самой 22.10 нет для WSL. Пародия, не пародия, как любая виртуалка.

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 15:32 10-02-2023 | Исправлено: lelik007, 15:43 10-02-2023
neorion

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lelik007
Можно и самому собрать, это пара минут.
 

Код:
sudo apt install gcc g++ make cmake ninja-build liblz4-dev zlib1g-dev liblzma-dev
wget https://github.com/facebook/zstd/releases/download/v1.5.4/zstd-1.5.4.tar.gz
tar -xf zstd-1.5.4.tar.gz
cd zstd-1.5.4
cmake -S build/cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/user/zstd-build -DCMAKE_INSTALL_LIBDIR=lib -DZSTD_BUILD_STATIC=ON -DZSTD_BUILD_SHARED=OFF -DZSTD_BUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DZSTD_LEGACY_SUPPORT=ON -DZSTD_LZ4_SUPPORT=ON -DZSTD_LZMA_SUPPORT=ON -DZSTD_ZLIB_SUPPORT=ON -DZSTD_MULTITHREAD_SUPPORT=ON
cmake --build build
cmake --install build

Установится в /home/user/zstd-build/bin (user заменить на своего пользователя). Но ведь WSL это виртуалка, будет хуже производительность.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
neorion
Спасибо, можно попробовать, как доберусь до WSL.
В Windows программа стала еще более user friendly.

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 15:44 10-02-2023
GoblinNN

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

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN
Правильно написал.
Если нужна есть здесь в bin. Просто рядом положить. Это официальный msys2 runtime - не палево какое то.
https://mirror.msys2.org/msys/x86_64/msys2-runtime-3.4.5-1-x86_64.pkg.tar.zst
 
Добавлено:
los

Цитата:
судя по изменениям программа стала еще шустрее.  

Однако на Windows и моей машине нет, а именно что она стала медленнее,
из подключения внешней .dll - каждый тест ровно на 2 секунды.
Наверное, оптимизация для новых машин.

Всего записей: 2770 | Зарегистр. 13-10-2006 | Отправлено: 16:32 10-02-2023 | Исправлено: lelik007, 16:36 10-02-2023
neorion

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может, кому пригодится. Моя сборка 1.5.4 win32 (XP+), но собирается только без mt (multi thread)
https://github.com/artenax/zstd/releases
 
Добавлено:
lelik007
Зависимость от msys-2.0.dll это не очень хорошо. Жирнота и так не рекомендуется собирать.

Всего записей: 448 | Зарегистр. 02-10-2022 | Отправлено: 19:09 10-02-2023 | Исправлено: neorion, 19:10 10-02-2023
lelik007



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
neorion
Это хорошо, когда несколько программ с такой зависимостью собрано, а она у тебя в системе стоит.
Но в нашем случае - полная лажа, особенно учитывая то, что сами msys2 уже и собрали,
с зависимостями от msys-2.0.dll и msys-zstd-1.dll
https://packages.msys2.org/base/zstd
только там программы весят по 170 кб.

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

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

Цитата:
только там программы весят по 170 кб.

скорее всего зависимости lzma, lz4 и т.д. идут как динамические библиотеки.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я так понимаю плагин для TC безнадежно устарел и последние релизы не запустить под Windows без Cygwin/MSYS/WSL.

Цитата:
Смысл формата Zstd - очень быстрая распаковка; быстрее, чем ZIP. Zstd - объективно полезный метод сжатия, а не бесполезный, как, скажем, RAR5

То есть целью авторов является создание быстрого и эффективного алгоритма для распаковки пакетов инсталляции, а не очередного "убийцы" RAR или 7Zip ?

Всего записей: 4948 | Зарегистр. 05-01-2006 | Отправлено: 23:53 10-02-2023 | Исправлено: mithridat1, 00:00 11-02-2023
insorg



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

Цитата:
очень быстрая распаковка; быстрее, чем ZIP
Сильное заявление. Требует проверки.




флуд

Всего записей: 16744 | Зарегистр. 04-11-2010 | Отправлено: 23:59 10-02-2023 | Исправлено: Maz, 23:26 17-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