ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <alexey.tourbin@gmail.com>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Почему сборочница тормозит: корень зла в алогритмах.
Date: Thu, 8 Feb 2018 09:14:41 +0300
Message-ID: <CA+qzennvavn4=Aq8ZmnvNVnyV_33b=6=s5EynEbQhbNx-v6++Q@mail.gmail.com> (raw)
In-Reply-To: <20180207194731.GA6871@dad.imath.kiev.ua>

2018-02-07 22:47 GMT+03:00 Igor Vlasenko <vlasenko@imath.kiev.ua>:
> Вместо эпиграфа.
>
> LDV> Правильнее пересобирать все компилируемые пакеты
> LDV> после обновления тулчейна, мы готовы к этому?

> А между тем в devel@ уже всеръез обсуждается,
> что пакеты в Сизиф часто заливать не стоит,
> вместо этого надо локально копить коммиты
> и выкладывать их только в случае особых обстоятельств.

Сборка пакета имеет смысл, если она меняет что-то у пользователя. Если
на стороне пользователя ничего не меняется, то вы создаете
бессмысленный шум. Но есть большая индустрия "очистки спеков" и т.п.,
которая, за неимением лучшего, выдается за "разработку". Вы выступаете
апологетом порочных практик, исходя из примитивно понятых базовых
показателей. Возможно даже вы делаете это добросовестно.

> Хотел бы поделиться опытом, какой должна быть
> высокопроизводительная сборочница.
>
> Проблемы с производительностью сборочницы,
> с которыми сейчас столкнулся широкий круг майнтайнеров,
> у меня начались, наверное, раньше всех.
> Когда число моих пакетов стало больше 2 тыс.,
> мне в Сизифе стало тесно, а со сборочницей- неудобно,
> и я сделал отдельный репозиторий (autoimports)
> и свою сборочницу (autorepo-scripts), в которую
> постарался по возможности перенести возможности gitrar:
> сборку на 2 архтектуры, проверку на unmets, на устанавливаемость.
> В планах проверка на удаляемость пакета (на работу %pre/postun).
>
> На машине altair, раскочегаренная на все 32 ядра,
> сборочница на задаче обновления autoimports со CPAN обрабатывает
> более 4000 perl пакетов менее чем за 2 часа.
> Дадим консервативную оценку скорости в 850 транзакций в час.
>
> При этом, если я заливаю похожие пакеты perl в Сизиф,
> то они проходят со скоростью около 200 транзакций в сутки.
> Похожую скорость можно наблюдать в идущей последние
> дни пересборке python без setuptools-tests,
> запущенной Станиславом Левиным.
> Учитывая, что girar многопользовательский,
> оценим его скорость в 500 транзакций в сутки.
>
> Имеем: на сопоставимом классе пакетов
> autorepo-scripts на altair
> выдает скорость в 20.000 транзакций в сутки.
> При этом girar на кластере, существенно превосходящем
> altair по производительности,
> выдает скорость в 500 транзакций в сутки.

Понимаете, в чем дело.  Время всё равно уходит, а сборочица всё равно
простаивает. И показатель несколько тысяч транзакций в сутки всё равно
не нужен. То есть вы занимаетесь неправильной задачей оптимизации.
Правильной задачей оптимизации является увеличения качества
репозитория, но просто пока нет подходящей метрики.  Если знать на
пару шагов вперед, чтó ломают входящие пакеты, то можно было бы
посуточно откатывать некоторые транзакции (я пытался описать это в
терминах задержки коллапса пси-функции).  То есть ваша мысль работает
в неправильном направлении, как если бы увеличение скорости обработки
заданий решило все наши проблемы.

      parent reply	other threads:[~2018-02-08  6:14 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 19:47 Igor Vlasenko
2018-02-07 20:51 ` Dmitry V. Levin
2018-02-07 21:08   ` Igor Vlasenko
2018-02-08  5:40   ` Alexey Tourbin
2018-02-08  6:14 ` Alexey Tourbin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+qzennvavn4=Aq8ZmnvNVnyV_33b=6=s5EynEbQhbNx-v6++Q@mail.gmail.com' \
    --to=alexey.tourbin@gmail.com \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git