⌨ Labor omnia vincit ☮

Rebuild time

Posted in fun, SuSE [ru] by anaumov on 17.06.2010

Интересным проектом во время hackweek занимался мой коллега Ludwig Nussel из Security team. Суть проекта – определение времени сборки пакетов в openSUSE Build Service. Скрипт учитывает и обрабатывает так же зависимости пакета, который мы планируем пересобрать. Это очень удобно для пересборки своих проектов для следующих версий. Сбор подобной статистики уже входит в функционал следующей версии Build Service (сейчас пока в виде беты).

График показывает не только статистику времени сборки, но и какие пакеты мы можем собрать параллельно, а каким придется ждать своей очереди. Этот график показывает статистику ДО hackweek. Из него следует, что половину времени всей сборки нам придется ждать OpenOffice. На самом же деле это не совстем так. На практике время, нужное для пересборки OpenOffice, не настолько велико, и многие пакеты, могут быть пересобранны параллельно с ним.

Скрипт работал очень медленно и расчитывал время пересборки где-то за 15 минут. К тому же он был написанн давно и не учитывал некоторые зависимости, которые появились в последнее время. Как вы можете видеть из анимации ниже, новый скрипт работает где-то 10 секунд, и это не смотря на то, что он проверяет действительно все зависимости пакетов.

(откройте в новом окне)

Время пересборки всей openSUSE:Factory получается где-то 12-13 часов (ось X). Синяя область показывает количество пакетов, которые ожидают своей очереди для пересборки, а область голубого заполнения – это те пакеты, которые могу быть собранны параллельно. Оно шире, чем на первом графике, т.е. мы сможем собрать в один промежуток времени (параллельно) большее количество пакетов.

Исходные коды проекта доступны на сервере gitorious.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: