From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 28 Aug 2020 19:40:10 +0300 From: "Dmitry V. Levin" To: ALT Linux Team development discussions Message-ID: <20200828164010.GD20372@altlinux.org> References: <20200827022952.GA8129@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200827022952.GA8129@dad.imath.kiev.ua> Subject: Re: [devel] hasher ALT#36531 X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Aug 2020 16:40:10 -0000 Archived-At: List-Archive: List-Post: 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