12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <!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="prepare-aboutsbus">
- <?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
- provide accurate time estimates. The biggest package (Glibc) will
- take approximately 20 minutes on the fastest systems, but could take
- up to three days on slower systems! Instead of providing actual times,
- the Standard Build Unit (SBU) measure will be
- used instead.</para>
- <para>The SBU measure works as follows. The first package to be compiled
- from this book is Binutils in <xref linkend="chapter-temporary-tools"/>. The
- time it takes to compile this package is what will be referred to as the
- Standard Build Unit or SBU. All other compile times will be expressed relative
- to this time.</para>
- <para>For example, consider a package whose compilation time is 4.5
- SBUs. This means that if a system took 10 minutes to compile and
- install the first pass of Binutils, it will take
- <emphasis>approximately</emphasis> 45 minutes to build this example package.
- Fortunately, most build times are shorter than the one for Binutils.</para>
- <para>In general, SBUs are not entirely accurate because they depend on many
- 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>
- <note>
- <para>For many modern systems with multiple processors (or cores) the
- compilation time for a package can be reduced by performing a "parallel
- make" by either setting an environment variable or telling the
- <command>make</command> program how many processors are available. For
- instance, a Core2Duo can support two simultaneous processes with:</para>
- <screen role="nodump"><userinput>export MAKEFLAGS='-j 2'</userinput></screen>
- <para>or just building with:</para>
- <screen role="nodump"><userinput>make -j2</userinput></screen>
- <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
- be more difficult because the lines of different processes will be
- interleaved. If you run into a problem with a build step, revert back to a
- single processor build to properly analyze the error messages.</para>
- </note>
- </sect1>
|