Сайт | Скачать | Видео | Wiki

Автор Тема: Алгоритмы сжатия/распаковки  (Прочитано 28871 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: алгоритмы сжатия/распаковки
« Ответ #60 : 23 Февраль 2019, 09:42:33 »
Добавил в скрипт сравнение размеров, лежит там же.
прикрепил файл( можно б было "лог-файл", но там цифры вроде неудобные...)

p.s.
заметил: "до рестарта Х-ов" и "после" - распределение первенства по категориям среди "методов сжатия" различно => нужно блюсти "чистоту эксперимента" (но общую картину вроде показывает :))

p.p.s. всех С Праздником!
« Последнее редактирование: 23 Февраль 2019, 09:56:35 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: алгоритмы сжатия/распаковки
« Ответ #61 : 23 Февраль 2019, 11:44:01 »
Добавил в скрипт сравнение размеров
О, замечательно :) Плюс)

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: алгоритмы сжатия/распаковки
« Ответ #62 : 23 Февраль 2019, 12:17:26 »
И проценты еще дописал. Так Вы хотели?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #63 : 23 Февраль 2019, 14:46:58 »
подключил bc-1.07.1-2_6408-1.pfs (48К) - заработало:
Еще, чтобы проверить с zstd, подключить ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/squashfs-tools-zstd-p-4.3-8_64-sf01.pfs
Сам zstd тоже должен быть в системе:
Код
% zstd -V
*** zstd command line interface 64-bits v1.3.7, by Yann Collet ***
upd. Уже zstd 1.3.8-1 https://www.archlinux.org/packages/core/x86_64/zstd/
Изменения в 1.3.8 https://github.com/facebook/zstd/releases/tag/v1.3.8
« Последнее редактирование: 23 Февраль 2019, 14:54:31 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #64 : 23 Февраль 2019, 15:31:57 »
 Погонял zstd с разными алгоритмами. Очень интересные результаты. Самый лучший по размер/скорость  --> zstd -Xcompression-level 18 -b 512k
Код
% sudo ./squashtest zstd -Xcompression-level 22 -b 512k,zstd -Xcompression-level 19 -b 512k,zstd -Xcompression-level 19,zstd -Xcompression-level 18 -b 512k,zstd -b 512k,zstd --dirs /mnt/live/memory/images/001-prar1811-kr1.pfs
./squashtest: строка 2: /etc/initvars: Нет такого файла или каталога
write/mnt/live/memory/images/001-prar1811-kr1.pfszstd -Xcompression-level 22 -b 512k           147M          80.24 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfszstd -Xcompression-level 19 -b 512k           147M          69.06 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfszstd -Xcompression-level 19           155M          82.21 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfszstd -Xcompression-level 18 -b 512k           147M          49.56 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfs             zstd -b 512k           160M          24.72 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfs                     zstd           157M          35.39 sec

==========================================================
read  allzstd -Xcompression-level 22 -b 512k           0.10 sec
read  allzstd -Xcompression-level 19 -b 512k           0.12 sec
read  all   zstd -Xcompression-level 19           0.12 sec
read  allzstd -Xcompression-level 18 -b 512k           0.12 sec
read  all                  zstd -b 512k           0.11 sec
read  all                          zstd           0.14 sec

write allzstd -Xcompression-level 22 -b 512k          80.24 sec
write allzstd -Xcompression-level 19 -b 512k          69.06 sec
write all   zstd -Xcompression-level 19          82.21 sec
write allzstd -Xcompression-level 18 -b 512k          49.56 sec
write all                  zstd -b 512k          24.72 sec
write all                          zstd          35.39 sec
==========================================================
size all                        source      609.8M (100%)
size allzstd -Xcompression-level 22 -b 512k     146.4M (24.0%)
size allzstd -Xcompression-level 19 -b 512k     146.4M (24.0%)
size all   zstd -Xcompression-level 19     154.4M (25.3%)
size allzstd -Xcompression-level 18 -b 512k     146.9M (24.0%)
size all                  zstd -b 512k     159.4M (26.1%)
size all                          zstd     156.3M (25.6%)
==========================================================
Best read  speed  -- zstd -Xcompression-level 22 -b 512k
Best write speed  -- zstd -b 512k
Best compression  -- zstd -Xcompression-level 19 -b 512k
==========================================================
sudo ./squashtest zstd -Xcompression-level 22 -b 512k,zstd -Xcompression-leve  1249,15s user 39,88s system 343% cpu 6:15,38 total

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: алгоритмы сжатия/распаковки
« Ответ #65 : 23 Февраль 2019, 18:53:46 »
Тут главное понимать что тест не даст 100% точного результата, повторите его еще раз и цифры будут другими, слишком много факторов, которые предусмотреть нельзя.  Тест дает общее представление и конкретно по вашему железу и предложенным папкам. Относиться к этим данным следует без фанатизма :) Если у Вас какой-то из алгоритмов лидирует и с отрывом не означает, что так у всех. Мы в итоге пришили к решению, что по умолчанию в магос будет максимально возможная компрессия, а дальше каждый сам. Я на своем буке перепаковываю в lzo  ( если не забываю :) ), разница ощутима без замеров, но не так чтоб прям машину подменили. Не думаю, что zstd кардинально что-то изменит, если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно :(

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #66 : 23 Февраль 2019, 19:06:34 »
если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно :(
  Почему бы не попробовать на нашем PRA6408-01 (предлагаю именно его, т.к. он должен выступать в качестве дистра для всех ).

А вдруг понравится zstd? :) А форуму в плюс еще одно авторитетное мнение о нем, на основе собственных тестов? А то когда еще в magos подвезут.
« Последнее редактирование: 23 Февраль 2019, 19:10:18 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #67 : 23 Февраль 2019, 19:26:34 »
Почему бы не попробовать на нашем PRA6408-01
Распаковать iso на раздел. В menu.lst прописать:
Код
title PRA64 OLS.
set d=pra64
set k=4.15.4-pf
kernel /%d%/vmlinuz-%k%_64 dir=%d% rw quiet load=mesa;theme-pop;-gtk2-;palemoon
initrd /%d%/initrd.xz
Добавить ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/squashfs-tools-zstd-p-4.3-8_64-sf01.pfs
И установить zstd (не знал, что он отсутствует :)):
sudo pacman2pfs zstd

Для правильной работы тестового скрипта squashtest, доустановить bc:
sudo pacman2pfs bc
« Последнее редактирование: 23 Февраль 2019, 19:50:00 от krasnyh »

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: алгоритмы сжатия/распаковки
« Ответ #68 : 23 Февраль 2019, 19:50:42 »
Перейти на PRA из-за zstd в squahfs? Вы наверное шутите :)

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #69 : 23 Февраль 2019, 19:55:44 »
Попытка не пытка.)
А если серьезно, сейчас накапливается информация по zstd и любое мнение, основанное на собственных тестах будет полезно.

Оффлайн ilfat

  • Ветеран
  • *****
  • Сообщений: 438
  • Репутация: +11/-0
Re: алгоритмы сжатия/распаковки
« Ответ #70 : 23 Февраль 2019, 21:08:52 »
А то когда еще в magos подвезут.
Я сам себе подвёз, это намного проще чем переходить на PRA)

Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: алгоритмы сжатия/распаковки
« Ответ #71 : 28 Февраль 2019, 13:26:49 »
нужно блюсти "чистоту эксперимента" (но общую картину вроде показывает
вроде получется у меня по итогу (результатов, которые выше уже выкладывал):
  - комп-sams-rv510-в подписи;
  - ДЕ-ice+rox (приблизит. одинак. по составу), но 32 и 64 бит (пра03 и пра180801);
  -
Можно сказать что в таком варианте сравниваете чисто распаковку процем без учета чтения с диска. Если всегда copy2ram то по идее вам именно эти цифры и нужны.
--------------------
  приблизит. результат -
32-бит VS 64-бит = разница времени распаковки на одном и томже железе сжатых "сквошей" -  ~ в 2раза ( 0,16 сек  vs  0,07сек)
  ... хотя встречал мнения (да и на глаз заметно), что 64-бит система больше размером -~ на 30%

p.s. :) ну и наверное, "дела железные" имеют какое-то значение
« Последнее редактирование: 28 Февраль 2019, 13:45:03 от knn »
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: алгоритмы сжатия/распаковки
« Ответ #72 : 09 Март 2019, 12:02:21 »
В итоге - какая компрессия оптимальна в модулях? Кто-то может подвести итог?

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #73 : 09 Март 2019, 12:19:44 »
В итоге - какая компрессия оптимальна в модулях? Кто-то может подвести итог?
Я, если честно, не понял.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
  • Автор темы
Re: алгоритмы сжатия/распаковки
« Ответ #74 : 15 Март 2019, 15:05:00 »
Не думаю, что zstd кардинально что-то изменит, если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно
Дело в том, что zstd сжатие в btrfs поддерживается с ядра 4.14, а в Росе (МагОС) пока 4.9.
Выпуск дистрибутива Rosa Fresh R11
Основные изменения:
    Обновлены версии программ. По умолчанию задействовано ядро Linux 4.15 с патчами из состава Ubuntu 18.04...


Похоже магос переезжает на новое ядро. )