Общие вопросы > Программное обеспечение Linux

Алгоритмы сжатия/распаковки

(1/21) > >>

krasnyh:

--- Цитата: Ильфат от 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 вроде использует многопоточность по умолчанию? Не нашел четкого ответа в сети.

Ильфат:

--- Цитата: 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. Правда сам не понял о чем все это говорит. :)

Ильфат:
krasnyh, а теперь покажите тест на распаковку :)

Ильфат:

--- Цитата: krasnyh от 20 Январь 2019, 21:20:34 ---Правда сам не понял о чем все это говорит
--- Конец цитаты ---
О том что zstd это золотая середина. Он не призван жать также хорошо как xz, скорее он призван при относительно хорошем сжатии быстро распаковывать. Где-то читал, что для zstd высокие цифры для опции сжатия дают скорость при распаковке, а на размер уже особо не влияют.
P.S. В режиме ультра -19 превращается в -23 -22

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии