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

38 lines
2.6 KiB
Markdown
Raw Normal View History

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