[devel] hasher ALT#36531

Dmitry V. Levin ldv на altlinux.org
Пт Авг 28 19:40:10 MSK 2020


On Thu, Aug 27, 2020 at 05:29:53AM +0300, Igor Vlasenko wrote:
[...]
> Что я могу с этим сделать? Полтора года назад, после упомянутого выше
> письма в Сизиф, я начал переписывать свои скрипты для autoimports
> в прототип локальной сборочницы. При этом нашел еще один резерв для
> улучшения быстродействия сборочницы -- за счет оптимизации работы
> hasher при работе с неизменным репозиторием.
> Одна из таких оптимизаций ---
> https://bugzilla.altlinux.org/show_bug.cgi?id=36531
> экономия 10 секунд при создании chroot.
> Какой это эффект дало бы для сборочницы?
> Простой таск с 1 пакетом -- в среднем быстрее на 30 секунд (10 секунд на
> сборочный чрут и по 10 секунд на install test chroot для 2-х бинарных
> пакетов). На больших транзакциях больше.
> К примеру, пересборка perl будет выполняться быстрее на 20 минут,
> пересборка python -- быстрее на час.
> 
> #36531 -- тривиальный патч: сделать (кусок кода) отключаемым:
> if(переменная) { (кусок кода) }.
> Но я после недели обсуждений с Дмитрием так и не смог пробить
> #36531 в апстрим hasher :(. В итоге форкнул свою копию hasher
> и свернул свою разработку прототипа локальной сборочницы. :(

Извините, Игорь, но я решительно не понимаю, о чём вы пишите:
это совершенно не стыкуется с моими данными.

Вот у меня, допустим,
unchecked_initroot_cache="$(sed '/^task[[:space:]]\+/!d;s///;q' /path/to/Sisyphus/files/list/task.info)"

Первый hsh --init (uncached) занимает около 24 секунд,
второй hsh --init (fully cached) занимает около 2 (двух) секунд.
Какой-то последующий partially cached hsh --init
(unchecked_initroot_cache поменялся, а чрут нет) занимает около 12 секунд.

Вот свежезакоммиченное задание, в котором много install checks:
https://lists.altlinux.org/pipermail/sisyphus-incominger/2020-August/580593.html
Там сплошные "no need to repeat, install check SKIPPED", это значит,
что выполнялся только hsh --init, там эти 2 секунды хорошо видно.

Игорь, вы пишите про какую-то оптимизацию, которая даёт результат
10 секунд на развёртывание сборочного чрута.  А у нас уже 2 секунды.

Игорь, у нас уже 2 секунды, а у вас ещё 10 секунд.
Вот когда у вас будет 1 секунда, тогда и поговорим про оптимизацию hasher,
договорились?

Я бы мог добавить сюда добавить пару анекдотов про автострады,
но мне кажется, что и без них всё ясно.


-- 
ldv


Подробная информация о списке рассылки Devel