Общие вопросы > Программное обеспечение Linux
Алгоритмы сжатия/распаковки
krasnyh:
--- Цитата: Ильфат от 20 Январь 2019, 21:37:56 ---Он не призван жать также хорошо как xz, скорее он призван при относительно хорошем сжатии быстро распаковывать.
--- Конец цитаты ---
--- Код ---
% du -h skype_XZ.tar.xz && du -h skype_ZSTD.tar.xz
71M skype_XZ.tar.xz
76M skype_ZSTD.tar.xz
--- Конец кода ---
--- Цитата ---% xz -d -c -T 0 skype_XZ.tar.xz > skype_XZ.tar
xz -d -c -T 0 skype_XZ.tar.xz > skype_XZ.tar 6,21s user 0,41s system 99% cpu 6,653 total
--- Конец цитаты ---
--- Цитата ---% time zstdmt -d -c skype_ZSTD.tar.xz > skype_ZSTD.tar
skype_ZSTD.tar.xz : 239933440 bytes
zstdmt -d -c skype_ZSTD.tar.xz > skype_ZSTD.tar 0,80s user 0,24s system 97% cpu 1,061 total
--- Конец цитаты ---
Цифры конечно безумные у zstd. )
sfs:
Хорошо бы выработать инструкцию в вики - что чем актуально жать
krasnyh:
--- Цитата: krasnyh от 20 Январь 2019, 19:53:00 ---Я тут обратил внимание что у нас в PRA все алгоритмы сжатия/распаковки не используют многопоточность.
--- Конец цитаты ---
У нас при компиляции некоторые действия выполняются в один поток, а именно на последней стадии сжатие в пакет *.tar.xz.
https://wiki.archlinux.org/index.php/Makepkg#Utilizing_multiple_cores_on_compression
В spacefm команды архивации/распаковки тоже без учета количества ядер --> xz -cz %N > %O; xz -cd %x > %G
Так же gzip и bzip2 не умеют в многопоточность. Для них есть аналоги pigz и pbzip2, но они вроде устаревшие. Хотя pigz рекомендован к применению в ссылке выше (арчвики) как замена gzip.
P.s. Алгоритм xz можно поправить алиасом в .bashrc (.zshrc) --> alias xz='xz -T0'
Правда это не сработает здесь --> tar -cvJf %o %N; tar -xvJf %x (обработчики архивов из spacefm).
upd. Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux
sfs:
--- Цитата: krasnyh от 21 Январь 2019, 16:10:33 ---У нас при компиляции некоторые действия выполняются в один поток
--- Конец цитаты ---
ну так
--- [ Читать далее ] ---
in /etc/makepkg.conf:
COMPRESSXZ=(xz -c -z - --threads=0)
--- Конец цитаты ---
Надо попробовать. Догадываюсь почему там медленно жалось - в одно из 4 ядер
ilfat:
У вас в PRA какая версия squashfs-tools?
В репах Арча 4.3-8 и умеет zstd.
--- Код ---
zstd
-Xcompression-level <compression-level>
<compression-level> should be 1 .. 22 (default 15)
--- Конец кода ---
Сжал /usr/share в xz и в zstd чисто посмотреть разницу:
--- Код ---
# du -m usr_share.*
358 usr_share.xz.xzm
399 usr_share.zst.xzm
--- Конец кода ---
Время упаковки:
xz:
real 332,77
user 514,12
sys 43,80
zstd:
real 147,02
user 181,86
sys 11,30
Степени компрессии по умолчанию
Навигация
Перейти к полной версии