Добавлено многопоточное сжатие XZ в RPM 5
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
В тестингах 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
Сжатие .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
Добавлено многопоточное сжатие XZ в RPM 5
Какое основное преимущество у xz? Он быстрее работает или эффективнее сжимает?
Сила воли — это масса воли, умноженная на ускорение воли.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
Эффективнее сжимает, и единственное из доступного в RPM, что может в многопоточность (есть готовая реализация)
Добавлено многопоточное сжатие XZ в RPM 5
Для того, кто сжимает написали выше. Для пользователя - экономия трафика, выявление проблем памяти и процессора его ПК . Но, возможно, свежий xz не такой и/или у пользователей уже не осталось "плохих" ПК.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
Для пользователей ничего не изменится, т.к. RPM и раньше сжимались xz -6, но в один поток, что никак не влияет на распаковку.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
Так вот почему у меня на Atom N270 так тормозит установка пакетов!mikhailnov писал(а): ↑28 дек 2018, 20:37Для пользователей ничего не изменится, т.к. RPM и раньше сжимались xz -6, но в один поток, что никак не влияет на распаковку.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
Речь про создание пакета, а не установку. Тормозит у вас из-за сочетания медленного диска (5400 оборотов в минуту) и слабого процессора.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
Не хотелось бы видеть бесполезные споры,
придирки к словам и т.п.
С этим в личку, пожалуйста.
придирки к словам и т.п.
С этим в личку, пожалуйста.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
У меня тоже тормозит и на моём i5, и на i3 у сына при установке тоже тормозит.
В какой-то момент, при установке пакетов, машина просто перестаёт реагировать,
а секунд через пятнадцать - двадцать всё восстанавливается.
Сейчас для себя верну старый пакет без многопоточной упаковки, и погоняю для проверки.
Что-то меня совсем не вдохновляет многопоточное сжатие.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
З.Ы.
Откатил rpm, и установил пакет размером 200 МБ, при установке которого перед этим ноутбук зависал.
В этот раз проблем не было.
Потом запустил обновление около полутора сотен пакетов.
При этом проигрыватель воспроизводил HD фильм, и работал firefox с несколькими вкладками.
Даже не заметил, что шла установка пакетв.
И вроде даже быстрее установились.
Так что буду далее пользоваться этой версией.
Откатил rpm, и установил пакет размером 200 МБ, при установке которого перед этим ноутбук зависал.
В этот раз проблем не было.
Потом запустил обновление около полутора сотен пакетов.
При этом проигрыватель воспроизводил HD фильм, и работал firefox с несколькими вкладками.
Даже не заметил, что шла установка пакетв.
И вроде даже быстрее установились.
Так что буду далее пользоваться этой версией.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
А зачем откатывать, достаточно установить 1 поток (0) для %_binary_payload, как объяснено в исходном посте.
По коду патча https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch видно, что распараллеливается только encoder, то есть упаковка RPM, не вижу связи с установкой.
По коду патча https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch видно, что распараллеливается только encoder, то есть упаковка RPM, не вижу связи с установкой.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
Даже не знаю, почему так, но стало тормозить.mikhailnov писал(а): ↑12 янв 2019, 14:35А зачем откатывать, достаточно установить 1 поток (0) для %_binary_payload, как объяснено в исходном посте.
По коду патча https://abf.io/import/rpm/blob/rosa2016 ... d-XZ.patch видно, что распараллеливается только encoder, то есть упаковка RPM, не вижу связи с установкой.
И просто лень разбираться и устанавливать один поток.
Откатился на релиз 80, подняв его версию на 85.
Работает нормально, не тормозит, это важно, а сколько потоков, для меня не важно.
Кстати, установка действительно идёт гораздо быстрее.
Я для себя определился, что мне удобнее.
Лишних сложностей нет, так как половина системы самосборная, и из локальных реп устанавливается.
У меня локальные репы 180 Гб, так что пяток лишних пакетов ничего не решают.
Добавлено многопоточное сжатие XZ в RPM 5
провел большое исследование (правда на виртуалках, чтоб удобней откатывать было).
Регрессий не нашел
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
Регрессий не нашел
https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
По ссылке написано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
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
"Кратуовременная заморозка" - это высокий load average, забитая очередь процессора и очередь на обращения к диску.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
Поэтому и подумал, пусть xz работает одним потоком, и остальные потоки освободятся, и не будет проблем.mikhailnov писал(а): ↑13 янв 2019, 12:20"Кратуовременная заморозка" - это высокий load average, забитая очередь процессора и очередь на обращения к диску.
- VictorR2007
- Сообщения: 7546
- Зарегистрирован: 12 сен 2011, 13:00
Добавлено многопоточное сжатие XZ в RPM 5
Кстати, всё забываю спросить, есть ли конкретная польза, что xz работает в несколько потоков.
На мой взгляд, достаточно одного потока, и остальные освободятся для остальных задач.
Тем более, что судя по тестам https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
никакого прироста скорости нет.
На мой взгляд, достаточно одного потока, и остальные освободятся для остальных задач.
Тем более, что судя по тестам https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
никакого прироста скорости нет.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
Да, при упаковке жирных RPM ускорение сборки большое. На ABF на Draftsight тестировал (перепаковка жирных блобов). Локально тестировал на упаковке https://gitlab.com/nixtux-packaging/appimage2pkg , самый наглядный результат.VictorR2007 писал(а): ↑13 янв 2019, 14:34Кстати, всё забываю спросить, есть ли конкретная польза, что xz работает в несколько потоков.
На мой взгляд, достаточно одного потока, и остальные освободятся для остальных задач.
Тем более, что судя по тестам https://bugzilla.rosalinux.ru/show_bug.cgi?id=9608#c18
никакого прироста скорости нет.
А про распаковку в патче речь и не идет.
Добавлено многопоточное сжатие XZ в RPM 5
Это понятно. Процессор не может прожевать XZ.И чем сильнее сжатие архива, тем тормознее он работает.mikhailnov писал(а): ↑07 янв 2019, 20:14Речь про создание пакета, а не установку. Тормозит у вас из-за сочетания медленного диска (5400 оборотов в минуту) и слабого процессора.
Но когда-то на этом нетбуке жили OpenSUSE 10.x, OpenSUSE 11, Rosa Fresh 2012.1. А дикие тормоза при установке/удалении программ начались в 2014.1 И то не сразу.
- mikhailnov
- Сообщения: 272
- Зарегистрирован: 29 авг 2015, 22:53
- Контактная информация:
Добавлено многопоточное сжатие XZ в RPM 5
в 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.
Добавлено многопоточное сжатие XZ в RPM 5
Стоить все-таки понимать, что "на одном и том же оборудовании".mikhailnov писал(а): ↑18 янв 2019, 19:37в man xz написано, что,ч ем сильнее сжатие, тем меньше нагрузка на процессор при распаковке и тем больше памяти требуется для распаковки
Я как бы сюда не спорить пришел о формате сжатия для пакетов. Я тут порадовался, что ответ для себя нашел, с чего бы нетбук так тормозит при работе с RPM.
Добавлено многопоточное сжатие XZ в RPM 5
А tar.gz не тормозит? xz замечательная штука, но.., кто бы объяснил на "уровне" алгоритмов все плюшки. Можно считать это дисциплиной некой олимпиады
PS Может так. Надо хранить нечто, что будет восcтановлено после... Сжатие не волнует. Немного беспокоит обратный процесс. Для тестирования процесса "распаковки" (читай установки) есть "битая", но "рабочая" ОЗУ в 1-8 Gbit (процессор рано или позно же дожен переварить, да) - с xz всё не просто.
PS Может так. Надо хранить нечто, что будет восcтановлено после... Сжатие не волнует. Немного беспокоит обратный процесс. Для тестирования процесса "распаковки" (читай установки) есть "битая", но "рабочая" ОЗУ в 1-8 Gbit (процессор рано или позно же дожен переварить, да) - с xz всё не просто.
Последний раз редактировалось notauser 20 янв 2019, 00:04, всего редактировалось 1 раз.