mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-10 21:54:40 +08:00
38 lines
2.6 KiB
Markdown
38 lines
2.6 KiB
Markdown
# О времени сборки пакетов
|
||
|
||
Время сборки пакетов во многом зависит от мощности компьютера.
|
||
|
||
В этом руководстве используется единица времени, аналогичная такой же, как в 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 хост-системы. Они приведены здесь, чтобы _примерно_ оценить, сколько времени может потребоваться для установки пакета.
|