Библиотека сайта rus-linux.net
Linux From Scratch (version 6.8) | ||
Назад | Глава 4. Завершение подготовки | Вперед |
4.5. О единице измерения времени SBU
Многие хотели бы заранее приблизительно знать, сколько времени потребуется для компиляции и установки каждого пакета. Поскольку проект Linux From Scratch может собираться на различных системах, невозможно получить точную оценку времени. Для самого большого пакета (Glibc) может потребоваться приблизительно 20 минут на самых быстрых системах, но на слабых системах на это может быть затрачено до трех дней! Вместо того, чтобы указывать фактическое время, будет использоваться специальная единица измерения времени Standard Build Unit (SBU).
Единицу измерения SBU нужно использовать следующим образом. Первым пакетом, который компилируется в этой книге в главе 5, является пакет Binutils. Время, необходимое для компиляции этого пакета, будет называться стандартной единицей времени сборки Standard Build Unit или SBU. Время компиляции всех других пакетов будет выражаться относительно этого времени.
Рассмотрим, например, пакет, время компиляции которого составляет 4,5 SBU. Это означает, что если системе потребовалось 10 минут для того, чтобы при первом проходе скомпилировать и установить пакет Binutils, то для того, чтобы собрать наш пакет, потребуется приблизительно 45 минут. К счастью, время сборки большинства пакетов гораздо короче, чем время сборки пакета Binutils.
В общем, единица измерения SBU недостаточно точна, поскольку она зависит от многих факторов, в том числе от версии GCC хост системы. Она нужна в качестве грубой оценки, насколько долго может продолжаться установка пакета, но в некоторых случаях отклонения могут составлять десятки минут.
Что увидеть реальные значения времени сборки для ряда конкретных машин, мы рекомендуем посетить домашнюю страницу LinuxFromScratch SBU по адресу http://www.linuxfromscratch.org/~sbu/.
ЗамечаниеВо многих современных системах с несколькими процессорами (или ядрами) время компиляции пакета можно уменьшить за счет выполнения "параллельной команды make", задав для этого значение для переменной среды исполнения или сообщив программе make, сколько имеется процессоров. Например, процессор Core2Duo сможет поддерживать два одновременно исполняемых процесса, если задать: export MAKEFLAGS='-j 2' или просто выполнить сборку со следующим параметром: make -j2 Когда таким образом используется несколько процессоров, единицы измерения SBU могут отличаться от указанных в книге еще больше, чем обычно. Анализ результата процесса сборки будет сложнее, поскольку выполнение различных команд в различных процессах будет чередоваться. Если на шаге сборки у вас возникнут проблемы, то для того, чтобы правильно проанализировать сообщения об ошибках, вернитесь к однопроцессорной сборке. |
Предыдущий раздел: | Оглавление | Следующий раздел: |
Настройка среды окружения | О наборах тестов |