Add more detail to the About SBUs page.

This commit is contained in:
Bruce Dubbs 2024-08-26 17:59:31 -05:00
parent 04befc5e3c
commit eae9237225
2 changed files with 25 additions and 14 deletions

View File

@ -26,9 +26,9 @@
unit of time.</para> unit of time.</para>
<para>For example, consider a package whose compilation time is 4.5 <para>For example, consider a package whose compilation time is 4.5
SBUs. This means that if your system took 10 minutes to compile and SBUs. This means that if your system took 4 minutes to compile and
install the first pass of binutils, it will take install the first pass of binutils, it will take
<emphasis>approximately</emphasis> 45 minutes to build the example package. <emphasis>approximately</emphasis> 18 minutes to build the example package.
Fortunately, most build times are shorter than one SBU.</para> Fortunately, most build times are shorter than one SBU.</para>
<para>SBUs are not entirely accurate because they depend on many <para>SBUs are not entirely accurate because they depend on many
@ -36,17 +36,26 @@
to give an estimate of how long it might take to install a package, but the 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> numbers can vary by as much as dozens of minutes in some cases.</para>
<para>Before measuring the build time of any package (no matter Binutils <para>On some newer systems, the motherboard is capable of contolling
pass 1 or a package of which the SBU is being measured), make sure a the system clock speed. This can be controlled with a command such as
system power profile suitable to make the system running with the <command>powerprofilesctl</command>. This is not available in LFS, but
maximum performance (and the maximum power consumption) is selected. Or may be available on the host system. After LFS is complete, it can be
the measured SBU value may be severly inaccurate because the system may be added to a system with the procedures at the
operated differently building Binutils pass 1 and the other package. <ulink url='&blfs-book;sysutils/power-profiles-daemon.html'>
BLFS power-profiles-daemon</ulink> page.
Before measuring the build time of any package it is advisable to use a
system power profile set for maximum performance (and maximum power
consumption).
Otherwise the measured SBU value may be inaccurate because the
system may react differently when building <xref linkend='ch-tools-binutils-pass1'/>
or other packages.
Be aware that a significant inaccuracy can still show up even if the same 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: profile is used for both packages because the system may respond slower if
the system may respond slower for <quote>saving the power</quote> building the system is idle when starting the build procedure. Setting the power
Binutils pass 1, because the system load seems only about 25% of the load profile to "performance" will minimize this problem.</para>
building the other package (with <parameter>-j4</parameter>).</para>
<para>On most distros the power profile can be managed with either <para>On most distros the power profile can be managed with either
<command>power-profiles-daemon</command> or <command>tuned</command>. <command>power-profiles-daemon</command> or <command>tuned</command>.
@ -70,7 +79,9 @@
interleaved. If you run into a problem with a build step, revert to a interleaved. If you run into a problem with a build step, revert to a
single processor build to properly analyze the error messages.</para> single processor build to properly analyze the error messages.</para>
<para>The times presented here are based upon using four cores (-j4). The <para>The times presented here for all packages
(except <xref linkend='ch-tools-binutils-pass1'/> which is based on one core)
are based upon using four cores (-j4). The
times in Chapter 8 also include the time to run the regression tests for times in Chapter 8 also include the time to run the regression tests for
the package unless specified otherwise.</para> the package unless specified otherwise.</para>
</note> </note>

View File

@ -5,7 +5,7 @@
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-tools-binutils-pass1" role="wrap"> <sect1 id="ch-tools-binutils-pass1" role="wrap" xreflabel="binutils-pass1">
<?dbhtml filename="binutils-pass1.html"?> <?dbhtml filename="binutils-pass1.html"?>
<sect1info condition="script"> <sect1info condition="script">