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

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

Название: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 20 Январь 2019, 19:53:00
и решаю медлительность пережатием в более легкий для распаковки алгоритм, 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 20 Январь 2019, 21:31:48
krasnyh, а теперь покажите тест на распаковку :)
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 21 Февраль 2019, 07:07:58
А зачем скорость сжатия замерять.
Надо же изучить зверька со всех сторон)) Но вообще я хотел посмотреть разницу в размерах и по пути измерил скорости сжатия. Размер очень даже порадовал. Больше чем у xz всего на 11.5%. Теперь самое главное скорость распаковки. Днем или вечером сравню.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 13:15:13
-comp zstd -Xcompression-level 22
А на дефолтной степени какой размер не смотрели? Скорее всего разницы не будет. И ещё бы разницу в упаковке и распаковке посмотреть между 15(дефолт) и 22.
при примерно одинаковом времени сжатия и размере
На отдельной папке у меня получилась разница с xz 11.5%, а на всём МагОС 19.6%.
Тут все сильно зависит от железа.
Да нет у нашего пользователя такого железа чтоб xz выигрывал. Если размер с разницей в 20% не критичен, то смело можно переходить.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 22:29:13
Наверно еще size all в итоговый вывод добавить можно, чтоб наглядно видеть разницу в размерах. Можно даже в процентах относительно первого алгоритма.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 22:29:16
Любые ваши действия за компом во время тестирования способны повлиять на результат, по этому выключаем браузеры, отходим подальше, накрываемся ветошью и не отсвечиваем :))
Забыл про это. )  У меня и музыка и браузер...
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 22:30:23
Музыка то ладно, а вот браузер бы лучше закрыть, чтоб ОЗУ не отжирал, а то если своп задействуется, то результат будет искаженным.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 22:34:10
запускать скрипт нужно так, чтоб текущая папка была на нужном носителе, и там должно быть достаточно места для модулей сделанных из указанных папок с каждым из указанных алгоритмов.
? т.е. если в основном пользуюсь copy2ram-с-сохраненкой.pfs(без ченжес) - то вышевыложенная строка/команда - нормально?
? а если , например frugal без copy2ram -то проверять нужно на каталогах размещенных ~ в /mnt/home ?

p.s.  до этого проверял на открытом браузере
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 22:40:53
copy2ram-с-сохраненкой.pfs(без ченжес) - то вышевыложенная строка/команда - нормально?
Если ОЗУ достаточно, то нормально.
а если , например frugal без copy2ram -то проверять нужно на каталогах размещенных ~ в /mnt/home ?
На любых каталогах можно проверять, в том числе на бандлах, это куда ваши pfs модули смонтированы. У нас /memory/bundles. Самое главное нужно запускать скрипт с тестируемого носителя. То есть сначала cd /mnt/sda1, потом сквоштест.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 23:03:07
Нужно больше тестов с разных железок, чтоб общая картина нарисовалась.
Надеюсь betcher еще запилит размеры в процентах, чтоб весь вывод не выкладывать, а только общий итог по всему тесту. Да и в процентах наглядно было бы.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 22 Февраль 2019, 23:32:44
krasnyh, это вы весь вывод показали? А где у вас остальные данные? Мне кажется скрипт просто не отработал.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: krasnyh от 22 Февраль 2019, 23:35:01
Вставил полностью выше.
Название: Re: алгоритмы сжатия/распаковки
Отправлено: knn от 22 Февраль 2019, 23:36:25
спойлеры, кошмар Хромых. Ниче не вижу.
- вроде там кнопка "копировать" есть

p.s. ...в принципе можно и файлы прикреплять
Название: Re: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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: алгоритмы сжатия/распаковки
Отправлено: Ильфат от 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, согласен