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

Автор Тема: mkpfs сжатие  (Прочитано 15624 раз)

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

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
mkpfs сжатие
« : 10 Февраль 2017, 11:10:40 »
Алгоритмы сжатия/распаковки

Обратил внимание на то, что при пересборке pfs из наших xzm размер модуля уменьшается, хотя должен бы подрасти на /etc/packages. Видимо дело в сжатии, нельзя ли предусмотреть пару тройку вариантов. Иногда скорость сборки важнее итогового размера. За скорость работы mkpfs уже на нашем форуме поднимался разговор. http://www.magos-linux.ru/index.php?option=com_agora&task=topic&id=1048&p=1&Itemid=55#p18216
« Последнее редактирование: 01 Ноябрь 2021, 16:47:14 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #1 : 10 Февраль 2017, 11:17:06 »
http://forum.puppyrus.org/index.php?topic=16494.msg98348#msg98348
По дефолту xz c адскими ключами. Дает минимальный размер
С -g - gz компресиия - золотая середина между размером и скоростью
Остальные варианты есть не во всех системах и дадут что-то среднее. Не вижу смысла их добавлять
На маленьких модулях неощутимо. В больших модулях типа базы есть смысл побороться за размер - пересобираются не часто

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #2 : 10 Февраль 2017, 11:23:30 »
Цитата
Выводы : А так уж нужен ли /etc/packages?
Для модулей , которые не планируется об(раз)ъединять не нужен. ПФС-ютил работает так же и с обычным сквошом
В ПРА удобнее все в пфс - большие модули пересобираются редко и к ним возможны прицепы
Для магос - может базовые и актуально в xzm.... Хотя каждый подключенный модуль ест около 3 мб памяти (не зависит от размера и т.п.). Может кто захочет объединить
Короче все в пфс есть - как использовать в конкретном дистре - решать его разрабам

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #3 : 10 Февраль 2017, 11:28:36 »
08.91 s 11751 k xz
32.79 s 11063 k xz-x86-512      0.695s
Разница в скорости сжатия почти в 4 раза. Очень серьезное различие.
В больших модулях типа базы есть смысл побороться за размер - пересобираются не часто
Те модули из которых состоит система собираются сборщиком, он может и подождать :) А вот там где собирает пользователь, скорость, имхо, важнее учитывая что разница в итоговом размере несколько процентов при разнице в скорости в 4 раза.  Почему бы не добавить ключик? При чем по дефолту я бы быстрый вариант оставил. Ну или средний.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #4 : 10 Февраль 2017, 11:44:33 »
там где собирает пользователь, скорость, имхо, важнее
Поэтому в создание сохраненки я добавлял gz "по просьбам трудящихся"
По моему опыту - как сейчас достаточно
Если все-таки хотите - делайте - самое простое:
дефолт - из конфига
Только gz ключом (уже есть)
Ада ключей и дока на 5 страниц - не хотелось бы

Юзали бы gz и не парились. Зачем усложнения  ;) gz - "золотая середина"
« Последнее редактирование: 10 Февраль 2017, 11:47:38 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #5 : 10 Февраль 2017, 11:57:11 »
дефолт - из конфига
Да, вариант.
 
Только gz ключом (уже есть)
На сколько это юзабельно? Будет у нас  работать?
Ада ключей и дока на 5 страниц - не хотелось бы
Ада конечно не надо, но и бояться не стоит если по умолчанию всех устраивает.

lz4 так и не работает? Там цифры вообще огонь!!!

З.Ы. Заходите иногда по ссылке на наш форум которую я дал. Это как раз по пфс-утилз. Вы лучше меня в теме pfs-utils  сможете ответить. Ну и чтоб я вопросы/ответы  с форума на форум не транслировал.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #6 : 10 Февраль 2017, 12:09:48 »
На сколько это юзабельно? Будет у нас  работать?
gz удобно. Работать будет везде. В squashfs-util не зря по дефолту. Именно ключом. Например mkpfs -g + pfsmerge
Промежуточные модули в xz бессмыслкнно
Для ARM http://www.berryterminal.com/doku.php/berryboot/adding_custom_distributions другой дефолт

lz4 так и не работает? Там цифры вообще огонь!!!
Вероятно - зависит от ядра
Если надумаете что-то менять мои цифры не помешает перепроверить
Тем более после этого что-то мутили в ядре для ускорения сквоша (по началу приходилось отключать - глючило)

Заходите иногда по ссылке на наш форум
Я подписан на рсс
Проже ingvar сюда подключиться - остальные знакомы :)
« Последнее редактирование: 10 Февраль 2017, 12:11:37 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #7 : 10 Февраль 2017, 12:42:29 »
Тест на коленке. Результаты странные. Время меняется от теста к тесту ощутимо, по размерам победил gzip. В исходной папке в основном тексты и разного рода архивы. Как правильно тестировать? И еще. По дефолту у меня сжатие xz.
Код
du  ./Документы
748M    ./Документы

betcher@ThinkPad ~ $ time mksquashfs ./Документы/ ./Документы.xzm -comp xz
real    1m52.121s
betcher@ThinkPad ~ $ du ./Документы.xzm                             
621M    ./Документы.xzm

betcher@ThinkPad ~ $ time mksquashfs ./Документы/ ./Документы.xzm -comp lz4
real    0m15.052s
betcher@ThinkPad ~ $ du ./Документы.xzm                                   
688M    ./Документы.xzm

betcher@ThinkPad ~ $ time mksquashfs ./Документы/ ./Документы.xzm -comp gzip
real    0m28.230s
betcher@ThinkPad ~ $ du ./Документы.xzm                                   
458M    ./Документы.xzm

betcher@ThinkPad ~ $ time mksquashfs ./Документы/ ./Документы.xzm -comp lz4
real    0m4.172s

ThinkPad betcher # activate ./Документы.xzm
/home/betcher/Документы.xzm

Подключается  со сжатием lz4 стандартным скриптом activate.
« Последнее редактирование: 10 Февраль 2017, 14:06:59 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #9 : 10 Февраль 2017, 13:55:52 »
Нетипично. Вероятно из-за этого.
по размерам победил gzip. В исходной папке в основном тексты и разного рода архивы.
Лучше тестить на модулях софта
https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO
Тут как в моем эксперименте

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #10 : 10 Февраль 2017, 13:56:29 »
Еще немного поковырялся. Наибольшие тормоза вызывает вот эта оптимизация -Xbcj x86. От 2,5 до 4 раз по итогам нескольких тестов. Выигрыш есть, но не значительный 1-2%.  Предлагаю вынести это за ключик (спецом для разрабов и прочих жадных до дискового пространства индивидуумов), а  Xz и размер блока оставить по умолчанию как есть. Аналогично сделать в pfsmerge и pfsmerge-dir.

З.Ы. Если  есть интерес к lz4 (скорость сжатия в разы больше, чтения вроде тоже выше), можно добавить так же как gzip ключиком.

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #11 : 10 Февраль 2017, 13:59:07 »
Нетипично. Вероятно из-за этого.
Разобрался. Сам ступил. После сборки архива надо sync или просто подождать. А уже потом du file

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #12 : 10 Февраль 2017, 14:01:00 »
эта оптимизация -Xbcj x86
Это я предложил (и gz тоже). Дает ощутимое уменьшение размера. В porteus тоже по дефолту. Где то есть тема, в которой Zay согласился.
Предлагаю не городить ключей, а сделать конфиг.
Если все-таки хотите - делайте - самое простое:
дефолт - из конфига
Только gz ключом (уже есть)
Вы сейчас наиграетесь и успокоитесь на 1-2 вариантах,а  ключи будут как "чемодан без ручки" :)
« Последнее редактирование: 10 Февраль 2017, 14:07:42 от sfs »

Оффлайн betcher

  • Модератор
  • Ветеран
  • ****
  • Сообщений: 3019
  • Репутация: +35/-0
  • Автор темы
    • MagOS linux
Re: mkpfs сжатие
« Ответ #13 : 10 Февраль 2017, 14:09:01 »
эта оптимизация -Xbcj x86
Это я предложил (и gz тоже). В porteus тоже по дефолту. Где то есть тема, в которой Zay согласился.
Предлагаю не городить ключей, а сделать конфиг.
Вы сейчас наиграетесь и успокоитесь на 1-2 вариантах,а  ключи будут как "чемодан без ручки" :)

Сборка большого архива занимает десятки минут, например pfsmerge-dir для всех модулей магос. И разница между подождать 5 минут и 20 минут весьма ощутима. Я бы понял если бы был серьезный выигрыш, но так.... Делать дефолтом самый медленный вариант из всех возможных как минимум странно. Я бы этот оптимизатор вообще выкинул, но раз нужен пусть будет.  Но не по умолчанию :)
Как вы видите конфиг?

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: mkpfs сжатие
« Ответ #14 : 10 Февраль 2017, 14:21:00 »
Как вы видите конфиг?
Переменная со спорными ключами mksquashfs или функция в libpfs. Только ключ -g должен остаться без изменений (или если хочется - со своим конфигом)
Черновое , временное уменьшение времени сборки очень удобно