Добавлено многопоточное сжатие XZ в RPM 5

Текущая информация от разработчиков о тех или иных компонентах системы, общение с разработчиками и участниками команды
Ответить
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

В тестингах RPM, наученный упаковывать .rpm и .src.rpm, используя многопоточное сжатие xz.

Сжатие .src.rpm переведено с gzip на xz по умолчанию.
Сжатием .rpm был xz, он и остался, но стал многопоточным по умолчанию.

Пример проверки использованного в пакете сжатия:
# rpm -qp --qf '%{PAYLOADCOMPRESSOR}\n' rpm-5.4.10-82.src.rpm
xz

Настройка многопоточного сжатия производится записыванием параметров в файл /etc/rpm/macros , которые переопределят параметры по умолчанию из файла /usr/lib/rpm/macros.d/mandriva

Новая стандартная конфигурация в /usr/lib/rpm/macros.d/mandriva такая:
%_binary_payload w6T.xzdio
%_source_payload w6T.xzdio

%_binary_payload - настройка сжатия .src.rpm
%_source_payload - настройка сжатия .rpm

Примеры:
%_binary_payload w6T2.xzdio - сжимать .rpm с помощью XZ на уровне упаковки 6 в 2+1=3 потока
%_binary_payload w9T0.xzdio - сжимать .rpm с помощью XZ на уровне упаковки 9 в 0+1=1 поток
%_binary_payload w6T.xzdio - сжимать .rpm с помощью XZ на уровне упаковки 6 в максимальное количество потоков по числу ядер процессора.
Про уровни упаковки см. в man xz.

(чтобы удостовериться, что именно n+1, см. код: https://abf.io/import/rpm/blob/rosa2016 ... atch#lc-55 )

https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608
Патчи, добавшие эти изменения:
* https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch
* https://abf.io/import/rpm/blob/rosa2016 ... and-.patch
* https://abf.io/import/rpm/blob/rosa2016 ... imit.patch

Сборки нового RPM для тех, кто не пользуется тестовыми репозиториями rosa2016.1:
https://abf.io/build_lists/2956123
https://abf.io/build_lists/2956124

В качестве бенчмарка по упаковке нескольких гигабайтов в RPM предлагается использовать https://gitlab.com/nixtux-packaging/appimage2pkg .

Эта статья в других местах:
https://nixtux.ru/819
Аватара пользователя
Zeffanyx
Сообщения: 1440
Зарегистрирован: 12 сен 2011, 14:25
Operating system: Rosa Fresh 2021.1
Откуда: Санкт-Петербург

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение Zeffanyx »

Какое основное преимущество у xz? Он быстрее работает или эффективнее сжимает?
Если натовцы завоюют Россию, они отнимут у народа нефть и газ, накупят себе яхты, особняки и дорогие автомобили. А народ сделают рабами и будут смеяться над ним. Вы этого хотите, да?
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

Zeffanyx писал(а): 28 дек 2018, 11:56 Какое основное преимущество у xz? Он быстрее работает или эффективнее сжимает?
Эффективнее сжимает, и единственное из доступного в RPM, что может в многопоточность (есть готовая реализация)
notauser
Сообщения: 1246
Зарегистрирован: 06 май 2012, 21:00

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение notauser »

Zeffanyx писал(а): 28 дек 2018, 11:56 Какое основное преимущество у xz? Он быстрее работает или эффективнее сжимает?
Для того, кто сжимает написали выше. Для пользователя - экономия трафика, выявление проблем памяти и процессора его ПК :) . Но, возможно, свежий xz не такой и/или у пользователей уже не осталось "плохих" ПК.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

notauser писал(а): 28 дек 2018, 20:02 Для того, кто сжимает написали выше. Для пользователя - экономия трафика, выявление проблем памяти и процессора его ПК :) . Но, возможно, свежий xz не такой и/или у пользователей уже не осталось "плохих" ПК.
Для пользователей ничего не изменится, т.к. RPM и раньше сжимались xz -6, но в один поток, что никак не влияет на распаковку.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

Еще заменили xz -6 на xz -2 для .src.rpm
Аватара пользователя
Yamah
Сообщения: 1386
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение Yamah »

mikhailnov писал(а): 28 дек 2018, 20:37 Для пользователей ничего не изменится, т.к. RPM и раньше сжимались xz -6, но в один поток, что никак не влияет на распаковку.
Так вот почему у меня на Atom N270 так тормозит установка пакетов! :shock: :-o
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

Речь про создание пакета, а не установку. Тормозит у вас из-за сочетания медленного диска (5400 оборотов в минуту) и слабого процессора.
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

Не хотелось бы видеть бесполезные споры,
придирки к словам и т.п.
С этим в личку, пожалуйста. :)
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

Yamah писал(а): 07 янв 2019, 16:29 Так вот почему у меня на Atom N270 так тормозит установка пакетов! :shock: :-o
У меня тоже тормозит и на моём i5, и на i3 у сына при установке тоже тормозит.
В какой-то момент, при установке пакетов, машина просто перестаёт реагировать,
а секунд через пятнадцать - двадцать всё восстанавливается.
Сейчас для себя верну старый пакет без многопоточной упаковки, и погоняю для проверки.
Что-то меня совсем не вдохновляет многопоточное сжатие.
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

З.Ы.
Откатил rpm, и установил пакет размером 200 МБ, при установке которого перед этим ноутбук зависал.
В этот раз проблем не было.
Потом запустил обновление около полутора сотен пакетов.
При этом проигрыватель воспроизводил HD фильм, и работал firefox с несколькими вкладками.
Даже не заметил, что шла установка пакетв.
И вроде даже быстрее установились.
Так что буду далее пользоваться этой версией.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

А зачем откатывать, достаточно установить 1 поток (0) для %_binary_payload, как объяснено в исходном посте.

По коду патча https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch видно, что распараллеливается только encoder, то есть упаковка RPM, не вижу связи с установкой.
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

mikhailnov писал(а): 12 янв 2019, 14:35 А зачем откатывать, достаточно установить 1 поток (0) для %_binary_payload, как объяснено в исходном посте.

По коду патча https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch видно, что распараллеливается только encoder, то есть упаковка RPM, не вижу связи с установкой.
Даже не знаю, почему так, но стало тормозить.
И просто лень разбираться и устанавливать один поток.
Откатился на релиз 80, подняв его версию на 85.
Работает нормально, не тормозит, это важно, а сколько потоков, для меня не важно.
Кстати, установка действительно идёт гораздо быстрее.
Я для себя определился, что мне удобнее.
Лишних сложностей нет, так как половина системы самосборная, и из локальных реп устанавливается.
У меня локальные репы 180 Гб, так что пяток лишних пакетов ничего не решают.
keleg
Сообщения: 4933
Зарегистрирован: 15 сен 2011, 01:58

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение keleg »

провел большое исследование (правда на виртуалках, чтоб удобней откатывать было).
Регрессий не нашел
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

keleg писал(а): 13 янв 2019, 10:51 провел большое исследование (правда на виртуалках, чтоб удобней откатывать было).
Регрессий не нашел
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
По ссылке написано
в связи с сообщениями, что новый rpm медленнее устанавливает пакеты, провел исследование
Но скорость тут не причём совсем.
Я тут писал viewtopic.php?p=98643#p98643
VictorR2007 писал(а): 12 янв 2019, 13:06 В какой-то момент, при установке пакетов, машина просто перестаёт реагировать,
а секунд через пятнадцать - двадцать всё восстанавливается.
Это, проблема для меня, а не скорость.
Тем более что не тестировал на скорость, и последующий вывод был субъективным.
Хотя возможно, что если проблема воссоздаётся в редких случаях, включая мой,
то и скорость меняется после решения проблемы кратковременной заморозки.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

"Кратуовременная заморозка" - это высокий load average, забитая очередь процессора и очередь на обращения к диску.
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

mikhailnov писал(а): 13 янв 2019, 12:20 "Кратуовременная заморозка" - это высокий load average, забитая очередь процессора и очередь на обращения к диску.
Поэтому и подумал, пусть xz работает одним потоком, и остальные потоки освободятся, и не будет проблем.
Аватара пользователя
VictorR2007
Сообщения: 7808
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение VictorR2007 »

Кстати, всё забываю спросить, есть ли конкретная польза, что xz работает в несколько потоков.
На мой взгляд, достаточно одного потока, и остальные освободятся для остальных задач.
Тем более, что судя по тестам https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
никакого прироста скорости нет.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

VictorR2007 писал(а): 13 янв 2019, 14:34 Кстати, всё забываю спросить, есть ли конкретная польза, что xz работает в несколько потоков.
На мой взгляд, достаточно одного потока, и остальные освободятся для остальных задач.
Тем более, что судя по тестам https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
никакого прироста скорости нет.
Да, при упаковке жирных RPM ускорение сборки большое. На ABF на Draftsight тестировал (перепаковка жирных блобов). Локально тестировал на упаковке https://gitlab.com/nixtux-packaging/appimage2pkg , самый наглядный результат.

А про распаковку в патче речь и не идет.
Аватара пользователя
Yamah
Сообщения: 1386
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение Yamah »

mikhailnov писал(а): 07 янв 2019, 20:14 Речь про создание пакета, а не установку. Тормозит у вас из-за сочетания медленного диска (5400 оборотов в минуту) и слабого процессора.
Это понятно. Процессор не может прожевать XZ.И чем сильнее сжатие архива, тем тормознее он работает.
Но когда-то на этом нетбуке жили OpenSUSE 10.x, OpenSUSE 11, Rosa Fresh 2012.1. А дикие тормоза при установке/удалении программ начались в 2014.1 И то не сразу.
Аватара пользователя
mikhailnov
Сообщения: 264
Зарегистрирован: 29 авг 2015, 22:53
Operating system: ROSA
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение mikhailnov »

Yamah писал(а): 18 янв 2019, 17:34 Это понятно. Процессор не может прожевать XZ.И чем сильнее сжатие архива, тем тормознее он работает.
в man xz написано, что,ч ем сильнее сжатие, тем меньше нагрузка на процессор при распаковке и тем больше памяти требуется для распаковки

Код: Выделить всё

On  the same hardware, the decompression speed is approximately a constant number of bytes of compressed data per second.  In other words, the 
 better  the  compression,  the  faster  the decompression  will  usually be.
Аватара пользователя
Yamah
Сообщения: 1386
Зарегистрирован: 04 май 2012, 06:30
Operating system: Десктоп (дом): Rosa Fresh R8.1, Rosa Fresh R10
Десктоп (работа): Rosa Fresh R8.1/Rosa Fresh R10
Сервер (работа): Rosa Enterprise Linux Sercver 6.7
Нетбук: Rosa Fresh R10
Контактная информация:

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение Yamah »

mikhailnov писал(а): 18 янв 2019, 19:37 в man xz написано, что,ч ем сильнее сжатие, тем меньше нагрузка на процессор при распаковке и тем больше памяти требуется для распаковки
Стоить все-таки понимать, что "на одном и том же оборудовании".

Я как бы сюда не спорить пришел о формате сжатия для пакетов. Я тут порадовался, что ответ для себя нашел, с чего бы нетбук так тормозит при работе с RPM.
notauser
Сообщения: 1246
Зарегистрирован: 06 май 2012, 21:00

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение notauser »

А tar.gz не тормозит? :) xz замечательная штука, но.., кто бы объяснил на "уровне" алгоритмов все плюшки. Можно считать это дисциплиной некой олимпиады :)
PS Может так. Надо хранить нечто, что будет восcтановлено после... Сжатие не волнует. Немного беспокоит обратный процесс. Для тестирования процесса "распаковки" (читай установки) есть "битая", но "рабочая" ОЗУ в 1-8 Gbit (процессор рано или позно же дожен переварить, да) - с xz всё не просто.
Последний раз редактировалось notauser 20 янв 2019, 00:04, всего редактировалось 1 раз.
notauser
Сообщения: 1246
Зарегистрирован: 06 май 2012, 21:00

Добавлено многопоточное сжатие XZ в RPM 5

Сообщение notauser »

notauser писал(а): 19 янв 2019, 23:49 И да. Нет ли тут некой зависимости от версии и/или от чего-то подобного...
Ответить

Вернуться в «Информация от разработчиков»