Общие вопросы > Программное обеспечение Linux
Алгоритмы сжатия/распаковки
krasnyh:
mkpfs сжатие
Тесты squashfs zstd
https://forum.puppyrus.org/index.php?topic=16494.0
--- Цитата: Ильфат от 20 Январь 2019, 12:26:33 ---и решаю медлительность пережатием в более легкий для распаковки алгоритм, LZO или LZ4.
--- Конец цитаты ---
--- Цитата: Ильфат от 20 Январь 2019, 17:22:22 ---Когда в squash tools придет zstd еще можно будет подумать, так как по размеру он не сильно уступает xz, за то распаковка судя по тестам быстрее чем у lzo.
--- Конец цитаты ---
Я тут обратил внимание что у нас в PRA все алгоритмы сжатия/распаковки не используют многопоточность. Не знаю как с этим в Magos.
Для примера возьмем xz:
--- Код ---
% du -h skype.tar
229M skype.tar
--- Конец кода ---
--- Цитата ---% xz -c skype.tar > skype.tar.xz && du -h skype.tar.xz
xz -c skype.tar > skype.tar.xz 140,95s user 0,55s system 99% cpu 2:22,50 total
71M skype.tar.xz
--- Конец цитаты ---
--- Цитата ---% xz -c -T 0 skype.tar > skype.tar.xz && du -h skype.tar.xz
xz -c -T 0 skype.tar > skype.tar.xz 134,52s user 0,86s system 349% cpu 38,694 total
71M skype.tar.xz
--- Конец цитаты ---
(У меня zsh, команда time по умолчанию)
P.s. Lz4 вроде использует многопоточность по умолчанию? Не нашел четкого ответа в сети.
ilfat:
--- Цитата: krasnyh от 20 Январь 2019, 19:53:00 ---Я тут обратил внимание что у нас в PRA все алгоритмы сжатия/распаковки не используют многопоточность.
--- Конец цитаты ---
Это вы в отдельности компрессоры смотрите. Они обычно по умолчанию в один поток сжимают. У zstd есть что-то вроде алиаса - zstdmt, он жмет сразу с опцией -T0. А вот squashfs просто обязан в многопоточном режиме работать)
krasnyh:
--- Цитата: Ильфат от 20 Январь 2019, 21:03:25 ---У zstd есть что-то вроде алиаса - zstdmt, он жмет сразу с опцией -T0
--- Конец цитаты ---
Xz по умолчанию жмет с -6. Чтобы в zstd хоть как то сравниться размерами выставил максимальное сжатие:
--- Цитата ---% zstdmt -19 -c skype.tar > skype.tar.xz && du -h skype.tar.xz
skype.tar : 32.95% (239933440 => 79061866 bytes, /*stdout*\)
zstdmt -19 -c skype.tar > skype.tar.xz 137,09s user 1,15s system 342% cpu 40,313 total
76M skype.tar.xz
--- Конец цитаты ---
И для примера xz из предыдущего сообщения (-T 0):
--- Цитата ---% xz -c -T 0 skype.tar > skype.tar.xz && du -h skype.tar.xz
xz -c -T 0 skype.tar > skype.tar.xz 134,52s user 0,86s system 349% cpu 38,694 total
71M skype.tar.xz
--- Конец цитаты ---
--- [ Читать далее ] ---
--- Код ---
% zstd -V
*** zstd command line interface 64-bits v1.3.7, by Yann Collet ***
--- Конец кода ---
--- Код ---
% uname -a
Linux prar-1811 4.19.2-pf5 #1 SMP PREEMPT Thu Nov 15 07:49:57 MSK 2018 x86_64 GNU/Linux
--- Конец кода ---
--- Конец цитаты ---
P.s. Правда сам не понял о чем все это говорит. :)
ilfat:
krasnyh, а теперь покажите тест на распаковку :)
ilfat:
--- Цитата: krasnyh от 20 Январь 2019, 21:20:34 ---Правда сам не понял о чем все это говорит
--- Конец цитаты ---
О том что zstd это золотая середина. Он не призван жать также хорошо как xz, скорее он призван при относительно хорошем сжатии быстро распаковывать. Где-то читал, что для zstd высокие цифры для опции сжатия дают скорость при распаковке, а на размер уже особо не влияют.
P.S. В режиме ультра -19 превращается в -23 -22
Навигация
Перейти к полной версии