10537
Ускорение сборки пакетов из AUR
Здравствуйте!
Вопрос для тех, кто знаком с дистрибутивом Antergos. Тот кто в теме, тот должен был заметить или же просто уже знает, что пакеты из AUR в указанном дистрибутиве собираются ну так навскидку раз в 10 быстрее, чем на любом другом арч-дистре.
Собственно в этом и вопрос: какие настройки нужно сделать на Manjaro, чтобы добиться такой же производительности?
Спасибо.
p.s. УТОЧНЕНИЕ — вопрос касается сборки посредством pamac (не адресная строка)
Вопрос для тех, кто знаком с дистрибутивом Antergos. Тот кто в теме, тот должен был заметить или же просто уже знает, что пакеты из AUR в указанном дистрибутиве собираются ну так навскидку раз в 10 быстрее, чем на любом другом арч-дистре.
Собственно в этом и вопрос: какие настройки нужно сделать на Manjaro, чтобы добиться такой же производительности?
Спасибо.
p.s. УТОЧНЕНИЕ — вопрос касается сборки посредством pamac (не адресная строка)
47 комментариев
Я написал, что не то, потому что в той теме предлагается использовать неподдерживаемый на данное время пакет и описывается, что ускорение достигается за счёт того, что при его использовании из командной строки (а вопрос об pamac) не нужно отвечать на вопросы вида — Да/Нет, вот это ускорение!!! :)
Дайте, пожалуйста, практические советы, что делать, куда нажать, такого плана советы, спасибо.
Прежде чем размещать такие статьи, то нужно понимать, что такое кеш и внимательно (!!!) прочитать: Ускоряет повторную и последующие компиляции пакета.
Слова — повторную и последующие, хорошо видно? )))
Чудак-человек.
Пойду установлю кеш (ccache), потом 5 минут буду собирать пакет и потом его второй раз повторно соберу с ускорением!
Брависсимо :)
Да бред та статья.
Так что не торопитесь объявлять что-то бредом- возможно Вы просто не попадали в ситуацию когда бред превращается в рутину.
Вот и всё.
Вы у них-то спрашивали? Или там тоже не знают ничего про свою самоделку?
И кстати, код открытый. Берите их исходники и смотрите на здоровье- если Вы дейстнвительно программист, а не скрипткидди-пэхапешник.
8 это количество потоков
Дайте, пожалуйста, пример команды какой-то, спасибо.
Google Chrome он мне за полминуты собрал, на других арчах у меня браузер около 5-ти минут собирается.
PhpStorm — 3 минуты против 15-ти (хотел уже был сбрасывать думал ошибка), вот такие разбежки замечены мною.
Ничего особенного (кроме старой ветки pamac, которая в репах Manjaro тоже есть под названием pamac-classic) не обнаружил. Какой-то особенной скорости сборки- тоже. В makepkg.conf значение MAKEFLAGS равно "-j2"; ccache не установлен… Ну совсем не похоже на то что там пакеты собираются на порядок быстрее…
Зато после того как свою машину настроил по статье — Google Chrome собрался за три минуты вместе со скачиванием пакета на скорости 450КиБ (3G). Большую часть времени заняла скачка deb-пакета и сжатие пакета в tar.xz А сама сборка- что-то очень быстро, я и засечь не успел. До этого сборка шла явно медленнее, ускорение реально заметное.
Всё делалось из Pamac.
Так что статья ничуть не устарела. Yaourt- тот да, действительно RIP. Но pacaur сейчас вроде снова в строю.
Да и по сути безразлично, какими программами пользоваться — речь там о настройке make и окружения, а это влияет на любые программы.
ccache который в репах- тоже не устарел, а его git-версия в АУР- совсем свежая.
Вполне актуальная статья-то. Мне помогла.
Попробуйте, вдруг и Вам поможет :)
А если .PKGINFO из их пакета посмотреть- то вроде и не совсем их… :)
Сравните с аналогичным манжаровским. Размер, дату, URL…
Короче я понял, давайте распрощаемся :) удачи Вам в нащупывании чего-то там :) может быть и подойдёт мало ли
Пишет его Гильом Бенуа.
Вот только среди разработчиков Antergos я Гильома не наблюдаю, а в команде Manjaro он с самого начала и по сей день.
Arch Linux. Довольно древний i7-2640m. Никаких специальных настроек.
Кстати, «makepkg.conf» у меня по дефолту практически такой же, только MAKEFLAGS закомментирован и в COMPRESSXZ нет опции --threads=0.
Update.
MAKEFLAGS="-j$(nproc)" — включает все ядра при компиляции.
--threads=0 включает все ядра для сжатия.
Сейчас Хром примерно за 50 секунд ставится.
Кроме того, в статье куча ссылок на другие полезные статьи.
Ответ: ставим Antergos, собираем пакеты в 10 раз быстрее чем гопники с вопросами обоснования и сваливаем с такого форума.
ПОКА гопота.
p.s. кеш у него ускоряет борку пакетов ахахахахахахахахахахахахахахахахах
ЗЫ: В этом интернете вообще неуютно- здесь столько гопоты.
Обратитесь к сенатору Клишасу- оп сейчас пилит для Вас другой, в котором можно будет всё с чем несогласен легко удалить.
Заменить содержимое /etc/makepkg.conf на следующий код:
ЧТО поменялось-то? Одна строка? и на что поменялось?
И чем предложенное ранее
MAKEFLAGS="-j(количество ядер)"
отличается по смыслу от Вашего
MAKEFLAGS="-j$(nproc)" ???
Это лучше с точки зрения универсальности и защиты от дурака, но ускорит не больше чем если вписать число ядер вручную. Что Вам сразу и предлагалось сделать.
А не кажется ли Вам что предлагать ради одной строчки менять весь файл- это глупо?
У меня 8 ядер. И строка в моём /etc/makepkg.conf выглядит теперь так:
MAKEFLAGS="-j10 -l5", и это действительно резко меняет загруженность процессора. И баланс нагрузки на ядра.
Чтобы понять почему- придется прочесть man make и пару статей. Ссылки я давал, кому нужно читайте.
ЗЫ:- единственное что в Вашем файле полезного- добавлен ключ, влияющий на скорость компрессии. Сжимать пакет будет несколько быстрее, да.
ЗЫЫ: И ещё: PKGEXT='.pkg.tar' вместо PKGEXT='.pkg.tar.xz' — это выигрыш в скорости, но проигрыш в пространстве. SSD у многих пока невелики, а время оно бесконечно.
Лучше будет PKGEXT='.pkg.tar.lzo' Не так быстро как просто .tar, но быстрей чем .tar.xz
С другой стороны хоть чему-то научили человека. Который изначально мог бы предложить обсудить вариант
И всё. Вместо того, чтобы многократно хохотать в ветке.
Пишу всё это для менее опытных форумян, которые могли запутаться в этом обилии букв. Но не для того, чтобы кормить тролля. Хотя частично он своей задачи достиг. Как и мы) Уточнив наши знания по предмету. В этом смысле ещё раз благодарю весьма опытного и уважаемого коллегу @dimonmmk за найденную статью на кальке.
Если Вам не жалко места в каталоге сборки- почему бы и нет? Но учтите- на реальной машине в этом каталоге лежит примерно 1-2 гигабайта сжатых пакетов, а без сжатия будет соответственно 4-8гигов.