Форум проекта PuppyRus Linux

Общие вопросы => Программное обеспечение Linux => Тема начата: krasnyh от 20 Январь 2019, 19:53:00

Название: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 20 Январь 2019, 19:53:00
mkpfs сжатие (https://forum.puppyrus.org/index.php?topic=19669.0)
Тесты squashfs zstd (https://forum.puppyrus.org/index.php?topic=21412.msg180003#msg180003)
https://forum.puppyrus.org/index.php?topic=16494.0

и решаю медлительность пережатием в более легкий для распаковки алгоритм, LZO или LZ4.
Когда в 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 вроде использует многопоточность по умолчанию? Не нашел четкого ответа в сети.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 20 Январь 2019, 21:03:25
Я тут обратил внимание что у нас в PRA все алгоритмы сжатия/распаковки не используют многопоточность.
Это вы в отдельности компрессоры смотрите. Они обычно по умолчанию в один поток сжимают. У zstd есть что-то вроде алиаса - zstdmt, он жмет сразу с опцией -T0. А вот squashfs просто обязан в многопоточном режиме работать)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 20 Январь 2019, 21:20:34
У 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. Правда сам не понял о чем все это говорит. :)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 20 Январь 2019, 21:31:48
krasnyh, а теперь покажите тест на распаковку :)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 20 Январь 2019, 21:37:56
Правда сам не понял о чем все это говорит
О том что zstd это золотая середина. Он не призван жать также хорошо как xz, скорее он призван при относительно хорошем сжатии быстро распаковывать. Где-то читал, что для zstd высокие цифры для опции сжатия дают скорость при распаковке, а на размер уже особо не влияют.
P.S. В режиме ультра -19 превращается в -23 -22
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 20 Январь 2019, 22:30:50
Он не призван жать также хорошо как 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. )
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 21 Январь 2019, 10:53:41
Хорошо бы выработать инструкцию в вики - что чем актуально жать
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 21 Январь 2019, 16:10:33
Я тут обратил внимание что у нас в 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 (https://habr.com/ru/company/xakep/blog/210480/)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 21 Январь 2019, 18:43:26
У нас при компиляции некоторые действия выполняются в один поток
ну так
in /etc/makepkg.conf:
COMPRESSXZ=(xz -c -z - --threads=0)
Надо попробовать. Догадываюсь почему там медленно жалось - в одно из 4 ядер
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 20 Февраль 2019, 22:13:07
У вас в 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
Степени компрессии по умолчанию
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 20 Февраль 2019, 22:57:59
У вас в PRA какая версия squashfs-tools?
Цитата
% pacman -Qs squashfs-tools                                     
local/squashfs-tools 4.3-6
    Tools for squashfs, a highly compressed read-only filesystem for Linux
Поддержки zstd еще нет.
Код
			Compressors available:
gzip (default)
lzma
lzo
lz4
xz
В squashfs-tools_4.3-8 zstd уже появился https://www.archlinux.org/packages/community/x86_64/squashfs-tools/

Какие рекомендации?:)  Модули сжатые с этим алгоритмом, а не с xz - лучше?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 21 Февраль 2019, 01:06:40
Какие рекомендации?  Модули сжатые с этим алгоритмом, а не с xz - лучше?
Ну это смотря для кого что лучше. Надо тестировать.
Вот ещё пожал в lzo для сравнения, который у меня на флешке работает наиболее быстро.
Код
# du -m usr_share.lzo.xzm
464     usr_share.lzo.xzm
real 224,51
user 372,47
sys 36,36
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 21 Февраль 2019, 06:10:22
А зачем скорость сжатия замерять. Это не особо важный параметр. Надо скорость чтения из смонтированного модуля сравнивать.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 21 Февраль 2019, 07:07:58
А зачем скорость сжатия замерять.
Надо же изучить зверька со всех сторон)) Но вообще я хотел посмотреть разницу в размерах и по пути измерил скорости сжатия. Размер очень даже порадовал. Больше чем у xz всего на 11.5%. Теперь самое главное скорость распаковки. Днем или вечером сравню.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 21 Февраль 2019, 07:43:03
Днем или вечером сравню.
Не стал тянуть, нашел время)
Копирование из смонтированного модуля в tmpfs с предварительным полным сбросом дискового кэша. Делал по 2-3 теста на алгоритм. Сюда записал лучшие результаты. В одном из тестов lzo опередил zstd на 85 мс, в остальных уступил. Можно сказать разница между ними в пределах погрешности. Результаты на моем железе:
zstd:
real 17,43
user 0,60
sys 14,92
---------------
lzo:
real 17,92
user 0,51
sys 14,85
---------------
xz:
real 51,89
user 0,60
sys 49,44
---------------
Позже можно будет со степенями сжатия поэкспериментировать. Но уже сейчас понятно что zstd очень хорош.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 22 Февраль 2019, 11:52:23
squashfs-tools-zstd-p-4.3-8_64-sf01.pfs (ftp://ftp.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/squashfs-tools-zstd-p-4.3-8_64-sf01.pfs)

Жму папку 23мб
time mksquashfs 035-gtk2-1811-sf03.pfs  035-gtk2-1811-sf03.pfs .xz.pfs -b 512k -comp xz -Xbcj x86
real   0m6,954s

du 035-gtk2-1811-sf03.xz.pfs
4172   035-gtk2-1811-sf03.xz.pfs

time unsquashfs 035-gtk2-1811-sf03.xz.pfs
real   0m0,254s
--------------
time mksquashfs 035-gtk2-1811-sf03.pfs  035-gtk2-1811-sf03.pfs .xz.pfs -b 512k -comp zstd -Xcompression-level 22
real   0m7,876s

4564   035-gtk2-1811-sf03.pfs.zs.pfs

time unsquashfs 035-gtk2-1811-sf03.pfs.zs.pfs
real   0m0,067s

Т.е. при примерно одинаковом времени сжатия и размере pfs - zs в 3 раза быстрее распаковывается
Пакуем 1 раз. распаковка - постоянно
Получается надо переходить на zs....
Название: Re: алгоритмы сжатия/распаковки
Отправлено: RoDoN от 22 Февраль 2019, 12:30:59
Получается надо переходить на zs....
Начиная с какой версии ядра это будет работать?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 22 Февраль 2019, 12:59:13
Тут все сильно зависит от железа. Сделать однозначный вывод в пользу какого-то алгоритма наверное не получится. У нас для тестов даже специальный скрипт есть - squashtest. Его, кстати, не сложно допилить до универсального, сейчас под магос заточен.
Так вот на разном железе лидируют разные алгоритмы, я думаю, что при всей "хорошести" zstd история повторится.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 13:06:12
https://github.com/facebook/zstd#the-case-for-small-data-compression
Чем меньше объем данных для сжатия, тем сложнее его сжать. Эта проблема является общей для всех алгоритмов сжатия, и причина в том, что алгоритмы сжатия учатся на прошлых данных тому, как сжимать будущие данные. Но в начале нового набора данных нет «прошлого», на которое можно было бы опираться.

Чтобы решить эту ситуацию, Zstd предлагает режим обучения...


Важно это или нет?

Важно это или нет?
Некоторые тесты отсюда https://github.com/facebook/zstd/releases/tag/v1.1.3
Цитата
live@prar-1811 /mnt/sda3/Soft/github_users_sample_set % zstd -b1 -r github
1# 9114 files       :   7484607 ->   2623874 (2.853),  72.1 MB/s , 211.5 MB/s
zstd -b1 -r github  6,47s user 0,14s system 95% cpu 6,955 total

live@prar-1811 /mnt/sda3/Soft/github_users_sample_set % zstd --train -r github
Trying 5 different sets of parameters                                         
k=1511                                                                         
d=8
f=20
steps=4
split=75
accel=1
Save dictionary of size 112640 into file dictionary

live@prar-1811 /mnt/sda3/Soft/github_users_sample_set % zstd -b1 -r github -D dictionary
1# 9114 files       :   7484607 ->    756421 (9.895), 239.9 MB/s , 628.4 MB/s
zstd -b1 -r github -D dictionary  8,04s user 0,12s system 99% cpu 8,192 total

Что это и о чем говорит, хз?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 13:15:13
-comp zstd -Xcompression-level 22
А на дефолтной степени какой размер не смотрели? Скорее всего разницы не будет. И ещё бы разницу в упаковке и распаковке посмотреть между 15(дефолт) и 22.
при примерно одинаковом времени сжатия и размере
На отдельной папке у меня получилась разница с xz 11.5%, а на всём МагОС 19.6%.
Тут все сильно зависит от железа.
Да нет у нашего пользователя такого железа чтоб xz выигрывал. Если размер с разницей в 20% не критичен, то смело можно переходить.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 13:23:07
крипт есть - squashtest. Его, кстати, не сложно допилить до универсального, сейчас под магос заточен.
Может на самом деле в pfs utils его?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 22 Февраль 2019, 21:40:57
https://github.com/magos-linux/magos-linux/blob/master/make_MagOS/files/patches/rootfs/MagOS/usr/lib/magos/scripts/squashtest
Это сквоштест. Частично отвязал от магос, думаю можно проверить в PRA. Сам не смотрел еще.
Значит так. Это проверка не для самих алгоритмов, а для связки проц+носитель+ауфс+сквошфс+алгоритм.
То есть проверяем какой алгоритм с какими блоками и прочими параметрами лучше подойдет для конкретной машины и носителя с которого собираетесь грузить.
По этому запускать скрипт нужно так, чтоб текущая папка была на нужном носителе, и там должно быть достаточно места для модулей сделанных из указанных папок с каждым из указанных алгоритмов. Запускать под рутом.
Для магос заданы дефолтные папки, на которых идет проверка, вам надо будет задать свои. Примерно так.
squashtest lzo, gzip, xz, lz4 --dirs /opt /var
Алгоритмы разделяются запятой, папки пробелами. К алгоритму можно указать доп параметры например lz4 -Xhc -b 1M
Чем больше будет размер папок тем дольше будет думать и тем точнее результат. Но. Скрипт активно пишет в /tmp, чтоб минимизировать влияние чтения с диска по этому указанные папки должны туда войти :) Любые ваши действия за компом во время тестирования способны повлиять на результат, по этому выключаем браузеры, отходим подальше, накрываемся ветошью и не отсвечиваем :))

Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 22:06:54
Это сквоштест.
А с zstd он проверит? В скрипте нет упоминания.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:08:58
Проверит, если поддерживает squashfs-tools.
Там ещё хелп есть, если что.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:16:06
Примерно так.
squashtest lzo, gzip, xz, lz4 --dirs /opt /var
Код
live@pc:~$ squashtest lzo, gzip, xz, lz4 --dirs /opt /var
/usr/local/bin/squashtest: строка 2: /etc/initvars: Нет такого файла или каталога
(пра6408-1-de-ice+rox  [gtk2, наверное НЕ-sistemd])
под рутом - тоже самое
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:20:31
knn, а если просто создать его чтоб ошибки не было?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:25:50
а если просто создать его чтоб ошибки не было?
создал файл(Не-каталог [не знаю как правильней]):
Код
live@pc:~$ sudo squashtest lzo, gzip, xz, lz4 --dirs /opt /var
write                                    /opt                      lzo            16M           5.25 sec
write                                    /opt                     gzip            14M           6.34 sec
write                                    /opt                       xz            12M           9.04 sec
write                                    /opt                      lz4            19M           0.58 sec

write                                    /var                      lzo           460K           0.85 sec
write                                    /var                     gzip           360K           0.73 sec
write                                    /var                       xz           300K           1.37 sec
write                                    /var                      lz4           596K           0.53 sec

==========================================================
read  all                           lzo           0.06 sec
read  all                          gzip           0.07 sec
read  all                            xz           0.07 sec
read  all                           lz4           0.06 sec

write all                           lzo/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                          gzip/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                            xz/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                           lz4/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
==========================================================
Best read  speed  -- lz4
Best write speed  -- lz4
Best compression  -- xz
==========================================================
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:26:09
Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz
Винт Seagate 160G ST3160811AS
Код
write        /memory/bundles/42-x-network.xzm             zstd -b 512K           178M          45.11 sec
write        /memory/bundles/42-x-network.xzm              lzo -b 512K           203M          75.21 sec
write        /memory/bundles/42-x-network.xzm              lz4 -b 512K           260M           8.79 sec
write        /memory/bundles/42-x-network.xzm         lz4 -Xhc -b 512K           216M          20.00 sec

write     /memory/bundles/43-x-multimedia.xzm             zstd -b 512K           252M          67.69 sec
write     /memory/bundles/43-x-multimedia.xzm              lzo -b 512K           284M         102.16 sec
write     /memory/bundles/43-x-multimedia.xzm              lz4 -b 512K           345M          11.05 sec
write     /memory/bundles/43-x-multimedia.xzm         lz4 -Xhc -b 512K           298M          25.09 sec

write         /memory/bundles/44-x-office.xzm             zstd -b 512K           198M          48.39 sec
write         /memory/bundles/44-x-office.xzm              lzo -b 512K           227M          83.84 sec
write         /memory/bundles/44-x-office.xzm              lz4 -b 512K           280M           9.65 sec
write         /memory/bundles/44-x-office.xzm         lz4 -Xhc -b 512K           240M          22.14 sec

write           /memory/bundles/45-x-java.xzm             zstd -b 512K            50M          12.94 sec
write           /memory/bundles/45-x-java.xzm              lzo -b 512K            57M          17.77 sec
write           /memory/bundles/45-x-java.xzm              lz4 -b 512K            71M           3.23 sec
write           /memory/bundles/45-x-java.xzm         lz4 -Xhc -b 512K            60M           5.19 sec

==========================================================
read  all                  zstd -b 512K          31.53 sec
read  all                   lzo -b 512K          31.34 sec
read  all                   lz4 -b 512K          32.29 sec
read  all              lz4 -Xhc -b 512K          30.96 sec

write all                  zstd -b 512K         174.13 sec
write all                   lzo -b 512K         278.98 sec
write all                   lz4 -b 512K          32.72 sec
write all              lz4 -Xhc -b 512K          72.42 sec
==========================================================
Best read  speed  -- lz4 -Xhc -b 512K
Best write speed  -- lz4 -b 512K
Best compression  -- zstd -b 512K
==========================================================
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:29:13
Наверно еще size all в итоговый вывод добавить можно, чтоб наглядно видеть разницу в размерах. Можно даже в процентах относительно первого алгоритма.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 22:29:16
Любые ваши действия за компом во время тестирования способны повлиять на результат, по этому выключаем браузеры, отходим подальше, накрываемся ветошью и не отсвечиваем :))
Забыл про это. )  У меня и музыка и браузер...
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:30:23
Музыка то ладно, а вот браузер бы лучше закрыть, чтоб ОЗУ не отжирал, а то если своп задействуется, то результат будет искаженным.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:34:10
запускать скрипт нужно так, чтоб текущая папка была на нужном носителе, и там должно быть достаточно места для модулей сделанных из указанных папок с каждым из указанных алгоритмов.
? т.е. если в основном пользуюсь copy2ram-с-сохраненкой.pfs(без ченжес) - то вышевыложенная строка/команда - нормально?
? а если , например frugal без copy2ram -то проверять нужно на каталогах размещенных ~ в /mnt/home ?

p.s.  до этого проверял на открытом браузере
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:40:53
copy2ram-с-сохраненкой.pfs(без ченжес) - то вышевыложенная строка/команда - нормально?
Если ОЗУ достаточно, то нормально.
а если , например frugal без copy2ram -то проверять нужно на каталогах размещенных ~ в /mnt/home ?
На любых каталогах можно проверять, в том числе на бандлах, это куда ваши pfs модули смонтированы. У нас /memory/bundles. Самое главное нужно запускать скрипт с тестируемого носителя. То есть сначала cd /mnt/sda1, потом сквоштест.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:44:43
Вот еще тестик. Тут уже столкнул лбами xz и zstd:
Код
sudo squashtest xz -b 512K, zstd -b 512K --dirs /memory/bundles/43*
write     /memory/bundles/43-x-multimedia.xzm               xz -b 512K           214M         193.82 sec
write     /memory/bundles/43-x-multimedia.xzm             zstd -b 512K           252M          66.81 sec

==========================================================
read  all                    xz -b 512K          60.02 sec
read  all                  zstd -b 512K          11.38 sec

write all                    xz -b 512K         193.82 sec
write all                  zstd -b 512K          66.81 sec
==========================================================
Best read  speed  -- zstd -b 512K
Best write speed  -- zstd -b 512K
Best compression  -- xz -b 512K
==========================================================
Тяжелый xz все-таки.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:47:06
запускать скрипт с тестируемого носителя.
пока запускал до этого: скопировал скрипт в /usr/local/bin (условия загрузки/рабоы системы как и "см. выше" )- результат (на закрытом браузере :)):
Код
live@pc:~$ sudo squashtest lzo, gzip, xz, lz4 --dirs /opt /var
write                                    /opt                      lzo            16M           7.36 sec
write                                    /opt                     gzip            14M           5.37 sec
write                                    /opt                       xz            12M           9.22 sec
write                                    /opt                      lz4            19M           0.60 sec

write                                    /var                      lzo           460K           0.85 sec
write                                    /var                     gzip           360K           0.72 sec
write                                    /var                       xz           300K           1.32 sec
write                                    /var                      lz4           596K           0.52 sec

==========================================================
read  all                           lzo           0.07 sec
read  all                          gzip           0.06 sec
read  all                            xz           0.06 sec
read  all                           lz4           0.07 sec

write all                           lzo/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                          gzip/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                            xz/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
write all                           lz4/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
==========================================================
Best read  speed  -- gzip
Best write speed  -- lz4
Best compression  -- xz
==========================================================
- что-то не то:
Код
write all                           lz4/usr/local/bin/squashtest: строка 87: bc: команда не найдена
                sec
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 22:55:19
[ Читать далее ]
Ох уж эти ваши спойлеры, кошмар Хромых. Ниче не вижу.
- что-то не то:
Цена легкости ПРА )) Установите bc. Пакманом.

Сравнил степени сжатия zstd, стандартный 15 и максимальный 22, на размер все-таки влияет, а вот скорость распаковки почти одинаковая:
Код
sudo squashtest zstd -b 512K, zstd -Xcompression-level 22 -b 512K --dirs /memory/bundles/43*
write     /memory/bundles/43-x-multimedia.xzm             zstd -b 512K           252M          66.89 sec
write     /memory/bundles/43-x-multimedia.xzmzstd -Xcompression-level 22 -b 512K           238M         169.57 sec

==========================================================
read  all                  zstd -b 512K          11.88 sec
read  allzstd -Xcompression-level 22 -b 512K          12.43 sec

write all                  zstd -b 512K          66.89 sec
write allzstd -Xcompression-level 22 -b 512K         169.57 sec
==========================================================
Best read  speed  -- zstd -b 512K
Best write speed  -- zstd -b 512K
Best compression  -- zstd -Xcompression-level 22 -b 512K
==========================================================
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:57:40
Ох уж эти ваши спойлеры, кошмар Хромых.
- опасаюсь, что Администрация наругает  :police:
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:03:07
Нужно больше тестов с разных железок, чтоб общая картина нарисовалась.
Надеюсь betcher еще запилит размеры в процентах, чтоб весь вывод не выкладывать, а только общий итог по всему тесту. Да и в процентах наглядно было бы.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:05:08
опасаюсь, что Администрация наругает
А чего ругать то, код так и так ограничивается. Кто виноват, что Хром кривой  :D
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:06:20
Установите bc. Пакманом.
подключил bc-1.07.1-2_6408-1.pfs (48К) - заработало:
Код
live@pc:~$ sudo squashtest lzo, gzip, xz, lz4 --dirs /opt /var
write                                    /opt                      lzo            16M           5.95 sec
write                                    /opt                     gzip            14M           4.41 sec
write                                    /opt                       xz            12M           9.03 sec
write                                    /opt                      lz4            19M           0.59 sec

write                                    /var                      lzo           8,5M           1.66 sec
write                                    /var                     gzip           8,4M           0.87 sec
write                                    /var                       xz           8,3M           2.86 sec
write                                    /var                      lz4           8,6M           0.54 sec

==========================================================
read  all                           lzo           0.07 sec
read  all                          gzip           0.07 sec
read  all                            xz           0.07 sec
read  all                           lz4           0.06 sec

write all                           lzo           7.61 sec
write all                          gzip           5.28 sec
write all                            xz          11.89 sec
write all                           lz4           1.13 sec
==========================================================
Best read  speed  -- lz4
Best write speed  -- lz4
Best compression  -- xz
==========================================================
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:12:53
Хром кривой
дошло про Хром.
(непользуюсь им, хотя - недавно пришлось - паленум(и вроде Qupzilla-qt4 тоже) "не вывозил" восстановление учетной записи "одного сервиса")
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:16:38
заработало
и вроде /home/live/squashtest.log появился(или раньше не видел)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:20:51
заработало
Все алгоритмы 0.07. Что-то тут не то. Либо слишком маленькая папка, либо ещё что-то.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 23:25:02
 У меня какой-то нонсенс. Xz бьет zstd по всем параметрам. Конечно старенький HDD, но все же.
zstd -Xcompression-level 22
Код
% sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 22 -b 512k --dirs /opt /var
./squashtest: строка 2: /etc/initvars: Нет такого файла или каталога
write                                    /opt     xz -Xbcj x86 -b 512k            53M          35.09 sec
write                                    /opt    zstd -Xcompression-level 22 -b 512k            58M          20.81 sec

write                                    /var     xz -Xbcj x86 -b 512k            30M          47.37 sec
write                                    /var     zstd -Xcompression-level 22 -b 512k            30M          78.40 sec

==========================================================
read  all          xz -Xbcj x86 -b 512k           0.15 sec
read  all         zstd -Xcompression-level 22 -b 512k           0.16 sec

write all          xz -Xbcj x86 -b 512k          82.46 sec
write all          zstd -Xcompression-level 22 -b 512k          99.21 sec
==========================================================
Best read  speed  -- xz -Xbcj x86 -b 512k
Best write speed  -- xz -Xbcj x86 -b 512k
Best compression  -- xz -Xbcj x86 -b 512k
==========================================================
sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 22 -b 512k     686,19s user 17,92s system 350% cpu 3:21,03 total
Параметры для теста брал те, которые проверял sfs http://forum.puppyrus.org/index.php?topic=21412.msg154208#msg154208

upd. zstd -Xcompression-level 18
Код
% sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 18 -b 512k --dirs /opt /var
./squashtest: строка 2: /etc/initvars: Нет такого файла или каталога
write                                    /opt     xz -Xbcj x86 -b 512k            53M          34.17 sec
write                                    /optzstd -Xcompression-level 18 -b 512k            58M          16.19 sec

write                                    /var     xz -Xbcj x86 -b 512k            30M          47.34 sec
write                                    /varzstd -Xcompression-level 18 -b 512k            32M          29.50 sec

==========================================================
read  all          xz -Xbcj x86 -b 512k           0.21 sec
read  allzstd -Xcompression-level 18 -b 512k           0.14 sec

write all          xz -Xbcj x86 -b 512k          81.51 sec
write allzstd -Xcompression-level 18 -b 512k          45.69 sec
==========================================================
Best read  speed  -- zstd -Xcompression-level 18 -b 512k
Best write speed  -- zstd -Xcompression-level 18 -b 512k
Best compression  -- xz -Xbcj x86 -b 512k
==========================================================
sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 18 -b 512k     471,18s user 15,69s system 338% cpu 2:23,75 total
upd2. Еще небольшой тест. Из которого видно, что скорость чтения у xz и zstd на моем железе примерно одинаковые.
Код
% sudo du -sh /mnt/live/memory/images/001-prar1811-kr1.pfs
613M /mnt/live/memory/images/001-prar1811-kr1.pfs
Код
% sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 18 -b 512k --dirs /mnt/live/memory/images/001-prar1811-kr1.pfs
./squashtest: строка 2: /etc/initvars: Нет такого файла или каталога
write/mnt/live/memory/images/001-prar1811-kr1.pfs     xz -Xbcj x86 -b 512k           131M         120.36 sec
write/mnt/live/memory/images/001-prar1811-kr1.pfszstd -Xcompression-level 18 -b 512k           147M          49.01 sec

==========================================================
read  all          xz -Xbcj x86 -b 512k           0.21 sec
read  allzstd -Xcompression-level 18 -b 512k           0.20 sec

write all          xz -Xbcj x86 -b 512k         120.36 sec
write allzstd -Xcompression-level 18 -b 512k          49.01 sec
==========================================================
Best read  speed  -- zstd -Xcompression-level 18 -b 512k
Best write speed  -- zstd -Xcompression-level 18 -b 512k
Best compression  -- xz -Xbcj x86 -b 512k
==========================================================
sudo ./squashtest xz -Xbcj x86 -b 512k,zstd -Xcompression-level 18 -b 512k    648,75s user 26,42s system 343% cpu 3:16,51 total
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:28:19
Все алгоритмы 0.07. Что-то тут не то. Либо слишком маленькая папка, либо ещё что-то.
/opt=31M, var=11M; 
copy2ram-с-сохраненкой.pfs(без ченжес)
(пра6408-1-de-ice-dsktp+rox  [gtk2, наверное НЕ-sistemd])
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:29:07
 У меня какой-то нонсенс. Xz бьет zstd по всем параметрам. Конечно старенький HDD, но все же.
А проц какой?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 23:31:15
А проц какой?
Код
% inxi -Cxx 
CPU:       Quad core Intel Xeon E5450 (-MT-MCP-) arch: Penryn rev.10 cache: 6144 KB
           flags: (lm nx sse sse2 sse3 sse4_1 ssse3 vmx) bmips: 23999
           clock speeds: min/max: 1998/2997 MHz 1: 1997 MHz 2: 1999 MHz 3: 2764 MHz
           4: 2511 MHz
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:32:44
krasnyh, это вы весь вывод показали? А где у вас остальные данные? Мне кажется скрипт просто не отработал.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 23:35:01
Вставил полностью выше.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:36:25
спойлеры, кошмар Хромых. Ниче не вижу.
- вроде там кнопка "копировать" есть

p.s. ...в принципе можно и файлы прикреплять
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 22 Февраль 2019, 23:45:41
вроде там кнопка "копировать" есть
Выход))
Вставил полностью выше.
Для объективности надо всё-таки на бОльших размерах тестировать. Но похоже всё-таки проц у вас хороший, 4 ядра делают свое дело. А винт похоже не подстать ему))
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:54:30
Все алгоритмы 0.07. Что-то тут не то. Либо слишком маленькая папка, либо ещё что-то.
- не знаю что, но :
Код
live@pc:~$ sudo squashtest lzo, gzip, xz, lz4 --dirs /mnt/bundles/linux-firmware-20180119_any.pfs
write/mnt/bundles/linux-firmware-20180119_any.pfs                      lzo           138M          28.23 sec
write/mnt/bundles/linux-firmware-20180119_any.pfs                     gzip           129M          16.79 sec
write/mnt/bundles/linux-firmware-20180119_any.pfs                       xz           114M          53.06 sec
write/mnt/bundles/linux-firmware-20180119_any.pfs                      lz4           157M           1.48 sec

==========================================================
read  all                           lzo           0.07 sec
read  all                          gzip           0.06 sec
read  all                            xz           0.06 sec
read  all                           lz4           0.06 sec

write all                           lzo          28.23 sec
write all                          gzip          16.79 sec
write all                            xz          53.06 sec
write all                           lz4           1.48 sec
==========================================================
Best read  speed  -- gzip
Best write speed  -- lz4
Best compression  -- xz
==========================================================
(опять 0,07)
comp=rv510-в-подписи
  Спать буду.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 23 Февраль 2019, 00:47:42
У меня какой-то нонсенс. Xz бьет zstd по всем параметрам.
Zstd теряет время при сжатии /var, там архивы .files, которые он пытается пережать.
Код
live@prar-1811 /var/cache/pkgfile % sudo du -sh /var && ls -l
368M /var
итого 361154
-rw-r--r-- 1 root root   1960100 дек  1 06:55 2a-any.files
-rw-r--r-- 1 root root  95839148 дек  1 06:55 archlinuxcn.files
-rw-r--r-- 1 root root 177552372 дек  1 06:55 community.files
-rw-r--r-- 1 root root   6935588 дек  1 06:55 core.files
-rw-r--r-- 1 root root  75427276 дек  1 06:55 extra.files
-rw-r--r-- 1 root root   5102892 дек  1 06:55 herecura.files
-rw-r--r-- 1 root root   7002332 дек  1 06:55 pra6407extra.files
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 23 Февраль 2019, 01:08:08
 Если уменьшить у zstd степень сжатия до 18, то становится видно за что его ценят.
Лог добавил для сравнения сюда http://forum.puppyrus.org/index.php?topic=21412.msg154249#msg154249
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 23 Февраль 2019, 02:18:12
(опять 0,07)
Вы запускаете в хомяке, а хомяк у вас в ОЗУ, возможно с этим как-то связано. Тест проверяет связку проц+носитель. В зависимости от соотношения скорости носителя и мощности проца у всех результат разный.
Да нет у нашего пользователя такого железа чтоб xz выигрывал
Ошибался)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 06:29:34
/etc/initvars не нужен, там лежит SYSMNT, который нужен для того чтоб дефолтные папки задать.
А вот без bc не обойтись, на нем вся математика, теперь вот еще проценты просят :) Могу еще питоном посчитать например :))
Вы запускаете в хомяке, а хомяк у вас в ОЗУ, возможно с этим как-то связано.
Стопудово. Можно сказать что в таком варианте сравниваете чисто распаковку процем без учета чтения с диска. Если всегда copy2ram то по идее вам именно эти цифры и нужны.
Папки для тестов надо подбирать так чтоб там было много файлов разного размера и поминимуму пожатых.
Результаты в любом случае примерные, по этому если выигрыш не превышает 20% думаю не стоит тут же бросаться пережимать свои модули (это, кстати, проще сделать mkpfs'ом, он модули на входе понимает наравне с папками. А сжатие можно задать сразу в /etc/pfs.cfg чтоб всегда как надо жал.
З.Ы. /etc/initvars, как мне помнится, по нашим с вами стандартам в системе быть должон!!!
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 23 Февраль 2019, 08:01:05
без bc не обойтись
используется ли bc  в мат-тесте от phoronix-test-suite ?/ или в каких еще вычислениях/программах?( наверное если он там нужен , то наверное подтягивается "установкой пакетами")
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 08:17:40
bc - консольный калькулятор. В баше же математика - г. Во всех языках программирования есть своя математика.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 23 Февраль 2019, 08:25:21
в вопрсе подразумевал скорее - что-то вроде "частоты неинтерактивного использования bc , в скриптах оболочек, в т.числе и  программами" ( :) только что "подковался терминами").
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 08:39:23
Это вопрос предпочтений. Конкретно этот скрипт думаю можно переписать и без bc. Придется самому следить за точкой или все делать в байтах и секундах.
Добавил в скрипт сравнение размеров, лежит там же.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 23 Февраль 2019, 09:42:33
Добавил в скрипт сравнение размеров, лежит там же.
прикрепил файл( можно б было "лог-файл", но там цифры вроде неудобные...)

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

p.p.s. всех С Праздником!
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 23 Февраль 2019, 11:44:01
Добавил в скрипт сравнение размеров
О, замечательно :) Плюс)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 12:17:26
И проценты еще дописал. Так Вы хотели?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 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
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 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
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 18:53:46
Тут главное понимать что тест не даст 100% точного результата, повторите его еще раз и цифры будут другими, слишком много факторов, которые предусмотреть нельзя.  Тест дает общее представление и конкретно по вашему железу и предложенным папкам. Относиться к этим данным следует без фанатизма :) Если у Вас какой-то из алгоритмов лидирует и с отрывом не означает, что так у всех. Мы в итоге пришили к решению, что по умолчанию в магос будет максимально возможная компрессия, а дальше каждый сам. Я на своем буке перепаковываю в lzo  ( если не забываю :) ), разница ощутима без замеров, но не так чтоб прям машину подменили. Не думаю, что zstd кардинально что-то изменит, если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно :(
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 23 Февраль 2019, 19:06:34
если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно :(
  Почему бы не попробовать на нашем PRA6408-01 (http://forum.puppyrus.org/index.php?topic=21342.0) (предлагаю именно его, т.к. он должен выступать в качестве дистра для всех ).

А вдруг понравится zstd? :) А форуму в плюс еще одно авторитетное мнение о нем, на основе собственных тестов? А то когда еще в magos подвезут.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 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
Название: Re: алгоритмы сжатия/распаковки
Отправлено: betcher от 23 Февраль 2019, 19:50:42
Перейти на PRA из-за zstd в squahfs? Вы наверное шутите :)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 23 Февраль 2019, 19:55:44
Попытка не пытка.)
А если серьезно, сейчас накапливается информация по zstd и любое мнение, основанное на собственных тестах будет полезно.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 23 Февраль 2019, 21:08:52
А то когда еще в magos подвезут.
Я сам себе подвёз, это намного проще чем переходить на PRA)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 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. :) ну и наверное, "дела железные" имеют какое-то значение
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 09 Март 2019, 12:02:21
В итоге - какая компрессия оптимальна в модулях? Кто-то может подвести итог?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 09 Март 2019, 12:19:44
В итоге - какая компрессия оптимальна в модулях? Кто-то может подвести итог?
Я, если честно, не понял.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 15 Март 2019, 15:05:00
Не думаю, что zstd кардинально что-то изменит, если для меня будет круче чем lzo - буду паковать в него. Но когда ожидать в магос неизвестно
Дело в том, что zstd сжатие в btrfs поддерживается с ядра 4.14, а в Росе (МагОС) пока 4.9.
Выпуск дистрибутива Rosa Fresh R11 (https://www.opennet.ru/opennews/art.shtml?num=50325)
Основные изменения:
    Обновлены версии программ. По умолчанию задействовано ядро Linux 4.15 с патчами из состава Ubuntu 18.04...


Похоже магос переезжает на новое ядро. )
Название: Re: алгоритмы сжатия/распаковки
Отправлено: ilfat от 15 Март 2019, 16:23:27
Похоже магос переезжает на новое ядро. )
Роса! )) В репах официально давно уже 4.15, также есть репозитории с более новыми ядрами, в том числе 5.0. Так вот теперь просто в iso будет изначально 4.15, вот и все. А в МагОС ядро собирается из исходников, правда скорее всего той же Росы, но как правило версия всегда чуть новее. Сам пока не знаю почему собирают сами, может своими настройками. А так можно и Росовское использовать, aufs есть.
МагОС еще в декабре, если не в ноябре, хотели на 4.15 перевести, но из-за плохого свопинга решили не торопиться.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 24 Август 2019, 13:17:55
Squashfs-tools слегка обновился на днях, может появились какие полезные функции.
README-4.4: Update for Squashfs-tools 4.4 release  (https://github.com/plougher/squashfs-tools/commit/77fb4b9fe19c730fb23919f832957dd5dce03ef6)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 24 Сентябрь 2019, 09:52:20
в осеннем выпуске Ubuntu будет совершён переход на применение алгоритма LZ4 для сжатия ядра Linux и начального загрузочного образа initramfs (http://www.opennet.ru/opennews/art.shtml?num=51465)
Цитата
проведено тестирование скорости загрузки ядра при использовании алгоритмов BZIP2, GZIP, LZ4, LZMA, LZMO и XZ. BZIP2, LZMA и XZ были сразу отброшены из-за медленной распаковки. Из оставшихся наименьший размер образа оказался при использовании GZIP, но LZ4 распаковывал данные в семь раз быстрее GZIP, отставая по размеру на 25%. LZMO отставал от GZIP по степени сжатия на 16%, но по скорости распаковки был быстрее всего в 1.25 раза.
А мы что-то потужились выше в этой теме, но ни к чему не пришли
Остаемся на xz ...
Никто больше не тестировал?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 05 Январь 2020, 17:53:31
Arch Linux перешёл на использование алгоритма zstd для сжатия пакетов  (https://www.opennet.ru/opennews/art.shtml?num=52139)
Пересборка пакетов в формат zstd привела к суммарному увеличению размера пакетов на 0.8%, но обеспечило ускорение распаковки на 1300%.

Разместил новость в этой теме, может когда-то и на нашем форуме придет понимание, что не надо 'фетишировать' маленький размер сборки, любой ценой, теряя производительность и удобства по дороге к этой цели.
И вся эта тема, с тестами, прямо 'вопиет' об этом.

Еще http://forum.puppyrus.org/index.php?topic=22266.msg163573#msg163573.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 17 Январь 2020, 12:02:38
Arch Linux перешёл на использование алгоритма zstd для сжатия пакетов
Под это надо править конфиги mc и некоторые скрипты и обновить libarchive
Уже начал. Желающие помогать есть (выкладывать промежуточное, чтобы вместе быстрее получилось)?
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 20 Январь 2020, 13:43:54
Под это надо править конфиги mc и некоторые скрипты и обновить libarchive
089-z-zst-sf01.pfs (ftp://ftp.yandex.ru/puppyrus/roll/180101/089-z-zst-sf01.pfs) - положить в /base
поправил, обновил. Дополнительно обновил gcc-libs до версии, как в  деб10
Прошу проверить и обновлю 001
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 24 Январь 2020, 11:00:17
Прошу проверить и обновлю 001
Не дождался обратной связи. Включил в 089 089-pra-upd-1801-sf86.pfs (ftp://ftp.yandex.ru/puppyrus/roll/180101/089-pra-upd-1801-sf86.pfs)

089-upd-1912-sf15.pfs (ftp://ftp.yandex.ru/puppyrus/roll/1912/089-upd-1912-sf15.pfs) - добавил исправленные скрипты.  libarchive здесь и так новый
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 07 Февраль 2020, 09:17:17
у вас есть разработки использующие zstd? Наверное есть и в сотый раз отвечаете... Как там сжатие максимальное, если с вашим инструментарием поженить вместо xz? Вроде и скорость заявлена, и компрессия... Слабо шарю, просьба щеки не надувать, терминами не грузить :)
На средне бодром железе я не ощутил разницы по скорости
Размер минимальный у xz. Его и юзаю
На слабом железе , возможно, разница будет. К определенном выводам не пришли
Пережмите и расскажите впечатления
Название: Re: алгоритмы сжатия/распаковки
Отправлено: dZ0TFR от 12 Февраль 2020, 09:13:45
Вот тестик очередной zstd vs. xz не мой, но по моей просьбе  :) Создатель дериватива Aporteus из дружественной японии  :) продемонстрировал скорость загрузки: https://forum.porteus.org/viewtopic.php?p=75910#p75910
Насколько я понял, пока выбор: либо размер модуля, либо скорость загрузки.

Если разработчики zstd в новых версиях увеличат компрессии до равной xz, то думаю можно перелазить. А пока подожду...
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 12 Февраль 2020, 09:19:29
продемонстрировал скорость загрузки
Насколько я понял на результаты Blowfish никак не повлияло
С systemd быстрее загрузилось на 5 сек
Мой выбор по прежнему - меньший размер, т.е. xz
Название: Re: алгоритмы сжатия/распаковки
Отправлено: dZ0TFR от 12 Февраль 2020, 09:21:28
sfs, согласен
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 07 Июль 2021, 20:51:38
Arch Linux перешёл на использование алгоритма zstd для сжатия пакетов
Пересборка пакетов в формат zstd привела к суммарному увеличению размера пакетов на 0.8%, но обеспечило ускорение распаковки на 1300%.
Вот и до юбунты докатилось эхо перемен. С опозданием, но все же. )
Ubuntu 21.10 переходит на использование алгоритма zstd для сжатия deb-пакетов (https://www.opennet.ru/opennews/art.shtml?num=55453)

Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 08 Июль 2021, 10:56:41
Вот и до юбунты докатилось эхо перемен. С опозданием, но все же. )
Сегодня в Арче - завтра везде
так же как с systemd и симлинками /lib /sbin (привет Дяде Шурику - очень топил за sbin)  ;)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: DdShurick от 08 Июль 2021, 11:24:58
Сегодня в Арче - завтра везде
Это плохо, загонят в ловушку. Lennart Poettering - быдлокодер, но его лоббируют :( .
привет Дяде Шурику
Сам приветливый :)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 11 Сентябрь 2021, 20:48:24
Это к вопросу оптимизированных ядер и отличия от дефолтных. С миру по нитке - тут подкрутили, там подтянули и глядишь, домашний комп задышал поживее. :). А то пользуемся и не знаем, какая 'бомба' под капотом, одна из ...

Патченный ZSTD v1.4.10 из pf-kernel (https://gitlab.com/post-factum/pf-kernel/-/wikis/README).
Цитата
Я провел тесты, чтобы сравнить текущий zstd в ядре с zstd-1.4.6.
  Я нашел:
 * Сжатие BtrFS zstd на уровнях 1 и 3 на 5% быстрее
 * BtrFS zstd распаковка + чтение на 15% быстрее
 * Распаковка SquashFS zstd + чтение на 15% быстрее
 * Сжатие F2FS zstd + запись на уровне 3 на 8% быстрее
 * F2FS zstd распаковка + чтение на 20% быстрее
 * Декомпрессия ZRAM + чтение на 30% быстрее
 * Распаковка ядра zstd на 35% быстрее
 * Initramfs zstd распаковка + сборка на 5% быстрее
https://lore.kernel.org/lkml/20210430013157.747152-1-nickrterrell@gmail.com/
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 12 Сентябрь 2021, 09:20:08
ZSTD v1.4.10 из pf-kernel.
Эта версия в pf ядре начиная с версии 5.11-pf6, т.е. у нас давно такая
В очередной раз убеждаюсь : не разбираешься в свежих фичах ядра - компили свежий pf - там все есть

Для дистров надо просто обновить (https://archlinux.org/packages/core/x86_64/zstd/) . Ок - потихоньку обновлю
Название: Re: алгоритмы сжатия/распаковки
Отправлено: sfs от 16 Октябрь 2021, 08:22:48
перепаковываю в lzo  ( если не забываю ), разница ощутима без замеров, но не так чтоб прям машину подменили
Подобное замечал только на твбоксах (4 arm ядра по 1,8ггц). Там перепаковал в zstd. Тоже на ощущениях. Получается- связано с частотой проца
На x86_64 CPU~Dual core Intel Celeron G540 (-MCP-) speed/max~2442/2500 MHz проблемы не ощущаю
Тестов для аргументации не придумал. Хотя можно попробовать замерять загрузку системы или первый запуск тяжелой проги (при втором и более уже прокэшируется)
Никто так не тестировал?
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: betcher от 16 Октябрь 2021, 08:37:16
В магос есть скрипт для тестов алгоритма сжатия. Сравнивает скорость чтения файлов. Попробуйте себе модифицировать.
https://github.com/magos-linux/magos-linux/blob/master/make_MagOS/files/patches/rootfs/MagOS/usr/lib/magos/scripts/squashtest
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 16 Октябрь 2021, 09:33:50
скрипт для тестов алгоритма сжатия
Думаю - это не совсем то. Какой алгоритм быстрее и так понятно. Но при реальной работе происходит кэширование и загрузка в память. Поэтому алгоритм сжатия реально повлияет только на скорость первой загрузки проги
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: betcher от 16 Октябрь 2021, 14:08:30
В том и дело что не понятно. Потому, что зависеть будет от скорости чтения с носителя и скорости распаковки, то есть в итоге алгоритм в идеале подбирается под железо.
Влияет естественно только на первый запуск, пока не прокэшировалось, а значит и на скорость запуска ОС тоже.
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 16 Октябрь 2021, 14:43:58
Влияет естественно только на первый запуск, пока не прокэшировалось
Когда-то давно, обсуждалось сравнение больших монолитов MagOS и маленьких модулей PRA (не могу найти это обсуждение). И в ответ, от разрабов MagOS, была высказана мысль, что размер ничего не решает, т.к. в этом самом огромном монолите распаковываются/читаются на лету только нужные данные.

И значит, в моем понимании, скорость чтения (определенная алгоритмом сжатия/распаковки) влияет не только на первый запуск, ведь обращение будет к разным данным в разный период времени, т.е. постоянное частое обращение к монолиту, а значит и постоянная частичная распаковка на лету и чтение. И значит быстрый алгоритм скажется не только в случае описанном в цитате сверху.


Надеюсь я смог правильно донести, то что читал на страницах здешних обсуждений и свое понимание.
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 16 Октябрь 2021, 20:08:51
В дополнение к посту, ссылка на Бенчмарк, https://forum.puppyrus.org/index.php?topic=23501.msg179719#msg179719
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 17 Октябрь 2021, 08:40:32
Влияет естественно только на первый запуск, пока не прокэшировалось, а значит и на скорость запуска ОС тоже.
Да. Т.к. запуск ОС = певвый запуск некоторого кол-ва прог
размер ничего не решает
Если не использовать copy2ram, который что-то даст только на совсем мертвых носителях.
Ну и кроме того в раздутом , универсальном софте  куча дополнительных зависимостей, которые могут запускать демонов и загружать в память  не нужные юзеру либы раздувается ресурсоемкость. В том числе и скорость чтения, т.к. прочитать надо больше. Поэтому оптимизация софта перекомпиляцией - один из главных методов получения "маленькой и быстрой" ОС.

скорость чтения (определенная алгоритмом сжатия/распаковки) влияет не только на первый запуск, ведь обращение будет к разным данным в разный период времени, т.е. постоянное частое обращение к монолиту
Когда в модуле одна прога - при старте она вместе со всеми нужными ей либами загружается в память и далее , как правило работает со своим профилем и конфигами, т.е. из своего модуля больше ничего не читает. Кстати - профиль (например браузера) будет быстрее работать в памяти. Т.е. сохраненка на медленном носителе - зло. В армбиан даже специально закостылили скрипт переноса профиля браузера в tmpfs и обратно (при выключении)
Поэтому в память есть смысл загружать только базу , в которой куча либ, используемых прочим софтом, который многократно загружается - выгружается
Я так понимаю работу фругала
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 18 Октябрь 2021, 23:50:13
Жму папку 23мб
time mksquashfs 035-gtk2-1811-sf03.pfs  035-gtk2-1811-sf03.pfs .xz.pfs -b 512k -comp xz -Xbcj x86
real   0m6,954s

du 035-gtk2-1811-sf03.xz.pfs
4172   035-gtk2-1811-sf03.xz.pfs

time unsquashfs 035-gtk2-1811-sf03.xz.pfs
real   0m0,254s
--------------
time mksquashfs 035-gtk2-1811-sf03.pfs  035-gtk2-1811-sf03.pfs .xz.pfs -b 512k -comp zstd -Xcompression-level 22
real   0m7,876s

4564   035-gtk2-1811-sf03.pfs.zs.pfs

time unsquashfs 035-gtk2-1811-sf03.pfs.zs.pfs
real   0m0,067s

Т.е. при примерно одинаковом времени сжатия и размере pfs - zs в 3 раза быстрее распаковывается
Пакуем 1 раз. распаковка - постоянно
Получается надо переходить на zs....
Взял модуль 01-drivers.xzm (317M) из MagOS, как самый большой из возможных во всех сборках. :)
Монтировал и сжимал (mksquashfs) в /tmp с алгоритмами xz (-b 512k -Xbcj x86), zstd (-b 512K -X 22; -b 1M -X 22), а так же дефолтным mkdwarfs.

Понятно, что xz дал те же 317M, zstd - около 350M (-b 512k) и 334M (-b 1M). Mkdwarfs - 266M.


Теперь распаковка с unsquashfs и dwarfsextract для dwarfs.
Для xz - 10 c
zstd (-b 1M) - 7 c
zstd (-b 512k) - 1,722 c
dwarfs - 1,965 c


Резюме. Лучшие значения у squashfs с zstd (-b 512k), но размер 350M против 317M у xz. Dwarfs же, при размере 266M, распаковывает за 1,965 c, но процесс сжатия растянут во времени в силу длительного процесса сканирования.


upd.
длительного процесса сканирования
Нормально, если обеспечить достойную скорость чтения:
1,193,331,977  99%  538.59MB/s
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 21 Октябрь 2021, 19:24:15
Перепаковал себе систему в zstd, потестирую, посмотрю.
Код
$ cat /etc/pfs.cfg 
compression="-b 512K -comp zstd -Xcompression-level 18"

Пример скрипта (https://forum.puppyrus.org/index.php?topic=21704.msg157271#msg157271) перепаковки, без учета подмодулей.
Пробовал выдрать куски из pfsrebuild, но там черт ногу сломает. :) Да и подумал, для пользователя нет никакой нужды в этих субмодулях, если только для удобства разработчика, при добавлении/удалении пакетов. Но, если разрабы оптимизируют упомянутый скрипт, хуже не будет, думаю. )


Что заметил уже.
- У меня нет рабочего стола и меню опенбокса по ПКМ теперь быстрее прорисовывается/перечитывается, раньше была ощутимая задержка.
- Быстрее запускается второе окно mpv, к уже воспроизводящему видео/аудио первому.
- Быстрее читается папка /usr/bin, там около 2000 файлов.
- Так же осознал, что gtk3 приложения тормозные и им ничем не поможешь. Наглядный пример spacefm, как не убыстряй чтение, он всегда будет запускаться с небольшой задержкой, и первый раз и второй и десятый.... Так же transmission-gtk. При этом AzPainter вылетает как чертик из табакерки. ) Я не говорю что это хорошо и должно быть для всех приложений, но это пример.

Такие вот несколько мелочей, для начала.
И да, у меня из prar2103/de-ovs взята только /base, остальное доустановил в монолит по списку своих пакетов:
Код
$ sudo pacman2pfs $(cat /mnt/sda3/мои_пакеты_pfs-test.txt)
Код
$ inxi -C
CPU:       Quad core Intel Xeon E5450 (-MT-MCP-) cache: 6144 KB
           clock speeds: max: 2997 MHz 1: 1998 MHz 2: 2098 MHz 3: 1998 MHz 4: 1998 MHz


p.s. Сначала пробовал -b 1M -comp zstd -Xcompression-level 22, он не настолько разрастается в размере, но по быстродействию показалось, что это близко к xz.

Помимо этой темы, алгоритмы еще обсуждались в mkpfs сжатие (https://forum.puppyrus.org/index.php?topic=19669.0). И здесь Changes/OptimizeSquash (https://fedoraproject.org/wiki/Changes/OptimizeSquashFS), там хорошие скрины.

p.s.2. Ну и повторюсь по поводу dwarfs, который zstd, но жмет в меньший размер, чем xz. Раньше я выражал неудовольствие медленным сканированием, но если поместить папку в /tmp или ~/live, то пролетает быстрее молнии. )
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Октябрь 2021, 14:23:13
Пример скрипта (https://forum.puppyrus.org/index.php?topic=21704.msg157271#msg157271) перепаковки, без учета подмодулей.
Был неправ, все же mkpfs считывает инфу о подмодулях.
Код
live@roll2103 % pfsinfo 000-kernel-5.13.0-pf5-lf5_64.pfs 
cryptsetup-static-1.4.3-1-any
linux-pf-generic-5.13.5-4-x86_64
linux-pf-preset-default-5.11.0.pf2-1-x86_64
uksmd-git-0.0.0.r19.b6af35c-1-x86_64
z-kern

live@roll2103 % unsquashfs -s 000-kernel-5.13.0-pf5-lf5_64.pfs | grep -E 'zstd|compression'
Compression zstd
compression-level 18


upd. Просто привык, что в гуи pfs-mk, если не выбрать "Склеить", то соберет в монолит. А тут получается, что консольный вариант справился без всяких доп. ключей.
Или сыграло, что в качестве исходной папки используется bundles. Но я не знал о таком замечательном эффекте. )
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 01 Ноябрь 2021, 16:42:35
Подобное замечал только на твбоксах
Перепаковал https://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/google-chrome-gtk3-p-95.0.4638.69_64-au02.pfs , который уж совсем долго загружался при старте системы. Скорость его первого запуска увеличилась многократно.
Тогда перепаковал и https://mirror.yandex.ru/puppyrus/roll/2110/pfs/001-prar-2110-sf05.pfs так
-b 512K -comp zstd -Xcompression-level 18
Скорость загрузки увеличилась в 2 раза. Проверил на двух ПК : 2 ядерном celeron и 4я i5 (т.е. ускорение заметно на любом проце)
Попробовал и copy2ram - на ssd ничего не дало.

Выводы : базу и толстые проги типа браузеров, DEVX , офиса и т.п. актуально перепаковать в zstd. Размер модуля увеличивается некритично
Для copy2ram размер критичен, но сам  copy2ram на hdd ssd не актуален
Маленькие модули с простыми прогами особого смысла перепаковывать нет, т.к. первый раз и так быстро запускаются
Напомню , что при следующих запусках ускорения уже нет (т.е. и так быстро за счет кэша, не зависимо от типа компрессии)
Прошу всех протестировать и будем определяться в каких дистрах что пережать и с какими параметрами

Посмотреть тип модуля : unsquashfs -s ваш.pfs | grep ompression
Перепаковать - скриптом из аттача
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 03 Ноябрь 2021, 12:16:03
grep ompression
Именно grep ompression или grep -i Compression иначе уровень сжатия не увидишь
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: k0l0p0k от 04 Ноябрь 2021, 10:40:52
grep ompression
Именно grep ompression или grep -i Compression иначе уровень сжатия не увидишь
grep ompression выдавал пустую строку,
поэтому усомнился в правильности
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 04 Ноябрь 2021, 12:15:55
grep ompression выдавал пустую строку,
ничего не путаете? На каком модуле?
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 04 Ноябрь 2021, 12:18:23
Добавил в F2 меню mc :
pfs zstd текущую директорию
Pfsmerge zstd текущую директорию
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: k0l0p0k от 04 Ноябрь 2021, 13:44:34
grep ompression выдавал пустую строку,
ничего не путаете? На каком модуле?
перепроверил
сейчас строка не пустая с таким вариантом
магия )
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 12 Июнь 2022, 00:34:03
Цитата
Для сжатия ФС Squashfs задействован алгоритм lz4-hc, что в сочетании с работой из ОЗУ позволило заметно ускорить запуск приложений и контейнеров.
Выпуск EasyOS 4.0, самобытного дистрибутива от создателя Puppy Linux (https://www.opennet.ru/opennews/art.shtml?num=57335)

Не zstd, но уже и не xz.

Уже даже отец-основатель puppy пришел к такому выводу. А сколько здесь пришлось копий сломать, чтобы обратить внимание на важность отказа от xz.)  И вот уже MagOS пошел по этому пути, да и sfs пересмотрел отношение к своим сборкам (не ко всем). Ublinux уже давно отказался, возможно еще на этапе разработки.
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 12 Июнь 2022, 00:52:09
Советую форумчанам, пересевшим на новое железо с быстрыми SSD дисками, попробовать сборку. Имхо, по производительности она не должна будет уступать Большим фулл-дистрибутивам.
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 14 Июнь 2022, 10:49:12
Для сжатия ФС Squashfs задействован алгоритм lz4-hc
Мы же тестировали выше. Размер  lz4-hc на треть больше zstd
lz4 интересен только быстрым сжатием для экспериментов с большими модулями
Сам остановился на :
Модули с большими бинарниками типа хрома - ТОЛЬКО zstd. Ощутимо долгий первый старт
Прочие - где не боремся за размер - zstd (PRAR). Боремся - xz (LFD). Бороться имеет смысл только для copy2ram , который на ssd не особо актуален
В маленьких модулях с простым софтом разница xz - zstd будет только при первом старте и малоощутима

по производительности она не должна будет уступать Большим фулл-дистрибутивам.
Вроде всегда большие дистры уступали маленьким по производительности, но выигрывали по функциональности. Что-то изменилось?
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 14 Июнь 2022, 10:56:53
новое железо с быстрыми SSD дисками
Выше обосновал, почему здесь copy2ram и lz не актуальны.
Контейнерная тема получила у нас развитие в chroot2pfs. Т.е. хоть как-то  EasyOS может быть интересен
Цитата
исходные тексты пакетов от проекта OpenEmbedded.
Но что-то после своих экспериментов с musl на Alpina - не жду чудес
На фоне запущенного  современного браузера - почти все экономии малозаметны
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: krasnyh от 14 Июнь 2022, 11:22:44
по функциональности. Что-то изменилось?
По факту, подавляющее большинство с нашего форума, пересели на Большие Дистрибутивы. Puppy остался в качестве игрушки, забавы, ностальгии по старым временам. И речь идет не просто о рядовых форумчанах, нет, речь в первую очередь об активных, чей голос звучал и влиял на процессы.

Я уже давно пытаюсь дать определение этому явлению, объяснить для себя. Ведь огромнейшим преимуществом фругала является его неубиваемость, чем так и значителен Puppy и его производные. И пока, первое, что приходит в голову, что на новом производительном железе фругал в чем-то пасует перед фуллом, Puppy пасует перед Большим Дистрибутивом. Одной из причин я вижу именно сжатие в xz, а значит медленное чтение, которое не зависит, от ваших самых наимоднейших быстрых дорогих дисков.


А функционал легко добавляется, причем любой.
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 14 Июнь 2022, 11:50:53
пытаюсь дать определение этому явлению
Все технологии стремительно усложняются. Не будучи узким профессионалом - не угнаться.
Поэтому разрабы любители перековались в опытных юзеров
Puppy пасует перед Большим Дистрибутивом.
На фоне запущенного  современного браузера - почти все экономии малозаметны
Поэтому изучать костыли, присущие только пупи желающих мало

Сам пересел на ПРАР на работе. Доволен
Арч = возможность не стать уж совсем юзером. Тут можно в рамках "большого дистра" поразрабить  :) Золотая середина
А функционал легко добавляется, причем любой.
Но юзера не хотят заморачиваться. Хотят поставить в Пакетном Менеджере и чтобы работало
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: shelezyaka от 14 Июнь 2022, 14:29:17
Советую форумчанам, пересевшим на новое железо с быстрыми SSD дисками, попробовать сборку
Железо не новое , посмотреть захотелось , и что ? Кто нибудь его запускал и самое главное как.Закатал на флешку dd-шкой - не загрузочная , сделал загрузочной - не грузится .Установил на раздел HDD тоже самое .Требует какой-то boot раздел.Если ктото запустил - плиз как и записи груба тоже ...
PS
Цитата от    krasnyh  а подписало sfs - как ?
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 14 Июнь 2022, 14:36:32
Предлагал протестировать не я а  krasnyh
Давайте про easyos сюда (https://forum.puppyrus.org/index.php?topic=20336.0)
Название: Re: Алгоритмы сжатия/распаковки
Отправлено: sfs от 14 Июнь 2022, 14:38:22
Цитата от    krasnyh  а подписало sfs - как ?
Не знаю. У меня все ок
Возможно криво отредактировали
Советую форумчанам, пересевшим на новое железо с быстрыми SSD дисками, попробовать сборку. Имхо, по производительности она не должна будет уступать Большим фулл-дистрибутивам.