Lx4U-book/docs/prepare/about-sbu.md

38 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# О времени сборки пакетов
Время сборки пакетов во многом зависит от мощности компьютера.
В этом руководстве используется единица времени, аналогичная такой же, как в Linux From Scratch, - SBU (Standard Build Unit).
Она равна времени сборки первого пакета. Первым пакетом является `binutils`, время его компиляции в один поток на компьютере с процессором i3-2370M составляет примерно 3 минуты. 3 минуты = 1 SBU. На вашем ПК значение будет немного другим. Если какой-то пакет компилируется 10 SBU, то, переводя SBU в более привычную единицу, это будет равняться 30 минутам (учитывая то, что 1 SBU равен 3 минутам).
Время на сборку 32-битных версий библиотек не учитывается.
## Самостоятельное измерение SBU
Для того чтобы вычислить время сборки определённого пакета, выполните:
```bash
TIMEFORMAT='%1R Elapsed Time - $PROGRAM'
tar -zxvf $PROGRAM.tar.gz
pushd $PROGRAM
{ time \
{
./configure &&
make &&
make install
}
} 2>&1 | tee ../build.log
popd
```
> Замените `$PROGRAM.tar.gz` на имя нужного пакета, который надо распаковать.
## Значения новых команд
Когда мы измеряем время, необходимое для сборки пакета, мы используем функцию `time`. Время, затраченное на распаковку архива, не учитывается. Фигурные скобки группируют команды как для функции определения затраченного времени, так и для перенаправления всего вывода в файл журнала (`../build.log`).
???+ note "Обратите внимание"
SBU не даёт совсем точных значений, потому что эти значения зависят от многих факторов, включая версию GCC хост-системы. Они приведены здесь, чтобы _примерно_ оценить, сколько времени может потребоваться для установки пакета.