2022-05-18 21:52:36 +03:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
|
%general-entities;
|
|
|
|
|
]>
|
|
|
|
|
|
|
|
|
|
<sect1 id="ch-preps-aboutsbus">
|
|
|
|
|
<?dbhtml filename="aboutsbus.html"?>
|
|
|
|
|
|
|
|
|
|
<title>О SBU (Стандартная единица времени сборки)</title>
|
|
|
|
|
|
|
|
|
|
<para>Многие люди хотели бы знать заранее, сколько примерно времени потребуется
|
|
|
|
|
для компиляции и установки каждого пакета. Поскольку Linux From Scratch может
|
2023-06-26 21:32:36 +03:00
|
|
|
|
быть собран на различных системах, невозможно дать точную оценку времени.
|
|
|
|
|
Сборка самого большого пакета (gcc) займет около 5 минут на быстрых системах,
|
|
|
|
|
но может занять несколько дней на более медленных компьютерах! Вместо фактического
|
|
|
|
|
времени в книге используется показатель "стандартная единица времени сборки" (SBU).</para>
|
2022-05-18 21:52:36 +03:00
|
|
|
|
|
2023-06-26 21:32:36 +03:00
|
|
|
|
<para>Показатель SBU рассчитывается следующим образом. Первым пакетом, который нужно скомпилировать,
|
|
|
|
|
является binutils в <xref linkend="chapter-cross-tools"/>. Время, необходимое для компиляции
|
|
|
|
|
этого пакета с использованием одного ядра, будет называться стандартной единицей времени сборки
|
|
|
|
|
или SBU. Время компиляции остальных пакетов будет рассчитано относительно этого времени.</para>
|
2022-05-18 21:52:36 +03:00
|
|
|
|
|
|
|
|
|
<para>Например, рассмотрим пакет, время компиляции которого составляет 4,5 SBU.
|
2023-06-26 21:32:36 +03:00
|
|
|
|
Это означает, что если вашей системе потребовалось 10 минут для компиляции и сборки
|
2022-05-18 21:52:36 +03:00
|
|
|
|
первого прохода binutils, то для сборки этого пакета потребуется
|
2023-08-12 18:50:06 +03:00
|
|
|
|
<emphasis>примерно</emphasis> 45 минут. К счастью, в большинстве случаев, время
|
2023-06-26 21:32:36 +03:00
|
|
|
|
сборки меньше, чем у binutils.</para>
|
2022-05-18 21:52:36 +03:00
|
|
|
|
|
|
|
|
|
<para>В целом, величина SBU не совсем точна, поскольку она зависит от многих
|
|
|
|
|
факторов, включая версию GCC хост-системы. Она приведены здесь, чтобы дать
|
|
|
|
|
оценку того, сколько времени может потребоваться для сборки пакета, но в
|
|
|
|
|
некоторых случаях цифры могут отличаться на десятки минут.</para>
|
|
|
|
|
|
|
|
|
|
<note>
|
2023-06-26 21:32:36 +03:00
|
|
|
|
<para>Когда используется несколько ядер, единицы измерения SBU будут
|
2022-05-18 21:52:36 +03:00
|
|
|
|
различаться еще больше, чем обычно. В некоторых случаях make просто
|
|
|
|
|
завершится ошибкой. Анализ выходных данных процесса сборки также будет более
|
2023-06-26 21:32:36 +03:00
|
|
|
|
сложным, поскольку строки разных потоков будут чередоваться. Если вы
|
|
|
|
|
столкнулись с проблемой на этапе сборки, вернитесь к сборке на одном ядре,
|
2022-05-18 21:52:36 +03:00
|
|
|
|
чтобы проанализировать сообщения об ошибках.</para>
|
2023-06-26 21:32:36 +03:00
|
|
|
|
|
|
|
|
|
<para>Представленные здесь значения времени основаны на замерах при использовании
|
|
|
|
|
четырех ядер (-j4). Время, указанное в главе 8, также включает время выполнения
|
|
|
|
|
регрессионных тестов для пакета, если не указано иное.</para>
|
2022-05-18 21:52:36 +03:00
|
|
|
|
</note>
|
|
|
|
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|