2024-01-18 19:53:23 +00:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2007-03-21 18:42:58 +00:00
|
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
2004-05-03 11:59:46 +01:00
|
|
|
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
|
|
%general-entities;
|
|
|
|
]>
|
2006-01-15 12:10:43 +00:00
|
|
|
|
2020-02-09 20:50:38 +00:00
|
|
|
<sect1 id="ch-preps-aboutsbus">
|
2006-01-15 12:10:43 +00:00
|
|
|
<?dbhtml filename="aboutsbus.html"?>
|
|
|
|
|
|
|
|
<title>About SBUs</title>
|
|
|
|
|
|
|
|
<para>Many people would like to know beforehand approximately how long
|
|
|
|
it takes to compile and install each package. Because Linux From
|
|
|
|
Scratch can be built on many different systems, it is impossible to
|
2023-02-12 19:43:45 +00:00
|
|
|
provide absolute time estimates. The biggest package (gcc) will
|
|
|
|
take approximately 5 minutes on the fastest systems, but could take
|
|
|
|
days on slower systems! Instead of providing actual times,
|
2006-01-15 12:10:43 +00:00
|
|
|
the Standard Build Unit (SBU) measure will be
|
|
|
|
used instead.</para>
|
|
|
|
|
2023-02-12 19:43:45 +00:00
|
|
|
<para>The SBU measure works as follows. The first package to be compiled is
|
|
|
|
binutils in <xref linkend="chapter-cross-tools"/>. The time it takes to
|
2023-02-12 20:19:14 +00:00
|
|
|
compile using one core is what we will refer to as the Standard
|
2023-02-12 19:43:45 +00:00
|
|
|
Build Unit or SBU. All other compile times will be expressed in terms of this
|
|
|
|
unit of time.</para>
|
2006-01-15 12:10:43 +00:00
|
|
|
|
|
|
|
<para>For example, consider a package whose compilation time is 4.5
|
2022-09-27 19:42:07 +01:00
|
|
|
SBUs. This means that if your system took 10 minutes to compile and
|
2020-06-09 22:26:11 +01:00
|
|
|
install the first pass of binutils, it will take
|
2022-09-27 19:42:07 +01:00
|
|
|
<emphasis>approximately</emphasis> 45 minutes to build the example package.
|
|
|
|
Fortunately, most build times are shorter than one SBU.</para>
|
2006-01-15 12:10:43 +00:00
|
|
|
|
2022-09-27 19:42:07 +01:00
|
|
|
<para>SBUs are not entirely accurate because they depend on many
|
2009-11-13 02:09:23 +00:00
|
|
|
factors, including the host system's version of GCC. They are provided here
|
|
|
|
to give an estimate of how long it might take to install a package, but the
|
|
|
|
numbers can vary by as much as dozens of minutes in some cases.</para>
|
2006-01-15 12:10:43 +00:00
|
|
|
|
2024-08-25 19:49:01 +01:00
|
|
|
<para>Before measuring the build time of any package (no matter Binutils
|
|
|
|
pass 1 or a package of which the SBU is being measured), make sure a
|
|
|
|
system power profile suitable to make the system running with the
|
|
|
|
maximum performance (and the maximum power consumption) is selected. Or
|
|
|
|
the measured SBU value may be severly inaccurate because the system may be
|
|
|
|
operated differently building Binutils pass 1 and the other package.
|
|
|
|
Be aware that a significant inaccuracy can still show up even if the same
|
|
|
|
profile (except one maximizing the performance) is used for both packages:
|
|
|
|
the system may respond slower for <quote>saving the power</quote> building
|
|
|
|
Binutils pass 1, because the system load seems only about 25% of the load
|
|
|
|
building the other package (with <parameter>-j4</parameter>).</para>
|
|
|
|
|
|
|
|
<para>On most distros the power profile can be managed with either
|
|
|
|
<command>power-profiles-daemon</command> or <command>tuned</command>.
|
|
|
|
If the distro runs <command>power-profiles-daemon</command>, issue the
|
|
|
|
<command>powerprofilesctl set performance</command> command to select
|
|
|
|
the <literal>performance</literal> profile. If the distro runs
|
|
|
|
<command>tuned</command>, issue the <command>tuned-adm profile
|
|
|
|
throughput-performance</command> command to select the
|
|
|
|
<literal>throughput-performance</literal> profile.</para>
|
|
|
|
|
|
|
|
<para>Even if you are not measuring the SBU values, it's still better to
|
|
|
|
select the power profile for maximum performance before building LFS, as
|
|
|
|
doing so can (obviously) make the system faster to build LFS
|
|
|
|
packages.</para>
|
|
|
|
|
2014-08-24 06:05:28 +01:00
|
|
|
<note>
|
|
|
|
<para>When multiple processors are used in this way, the SBU units in the
|
|
|
|
book will vary even more than they normally would. In some cases, the make
|
|
|
|
step will simply fail. Analyzing the output of the build process will also
|
2022-09-27 19:42:07 +01:00
|
|
|
be more difficult because the lines from different processes will be
|
|
|
|
interleaved. If you run into a problem with a build step, revert to a
|
2014-08-24 06:05:28 +01:00
|
|
|
single processor build to properly analyze the error messages.</para>
|
2023-02-12 19:43:45 +00:00
|
|
|
|
|
|
|
<para>The times presented here are based upon using four cores (-j4). The
|
|
|
|
times in Chapter 8 also include the time to run the regression tests for
|
|
|
|
the package unless specified otherwise.</para>
|
2009-11-13 02:09:23 +00:00
|
|
|
</note>
|
|
|
|
|
2004-05-03 11:59:46 +01:00
|
|
|
</sect1>
|
2005-02-19 22:16:42 +00:00
|
|
|
|