diff options
| author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2015-05-05 09:12:26 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-28 18:02:28 +0100 |
| commit | 26f9777c643f780771cf3cdd9b056de7d8047cba (patch) | |
| tree | 2efe07edaae30ec38db469805a4af6a509ccae28 | |
| parent | e05c636bc85fd06b8f5b2f941ddd7d5b8e3e8b9c (diff) | |
| download | poky-26f9777c643f780771cf3cdd9b056de7d8047cba.tar.gz | |
ref-manual: Updates to the "Speeding Up the Build" section
I applied a little more information to this section to help
round out the variable explanations. Part of the change involved
adding PARALLEL_MAKEINST to the list of scaled variables.
I had left that variable off. Also added a new trade-off.
(From yocto-docs rev: 3d85d5385c03841c17dd33afb94c110edc12170f)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | documentation/ref-manual/usingpoky.xml | 66 |
1 files changed, 41 insertions, 25 deletions
diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml index a7bff18b01..e2e05b2514 100644 --- a/documentation/ref-manual/usingpoky.xml +++ b/documentation/ref-manual/usingpoky.xml | |||
| @@ -914,43 +914,52 @@ | |||
| 914 | 914 | ||
| 915 | <para> | 915 | <para> |
| 916 | Build time can be an issue. | 916 | Build time can be an issue. |
| 917 | By default, the build system uses three simple controls to try and | 917 | By default, the build system uses simple controls to try and maximize |
| 918 | maximize build efficiency: | 918 | build efficiency. |
| 919 | In general, the default settings for all the following variables | ||
| 920 | result in the most efficient build times when dealing with single | ||
| 921 | socket systems (i.e. a single CPU). | ||
| 922 | If you have multiple CPUs, you might try increasing the default | ||
| 923 | values to gain more speed. | ||
| 924 | See the descriptions in the glossary for each variable for more | ||
| 925 | information: | ||
| 919 | <itemizedlist> | 926 | <itemizedlist> |
| 920 | <listitem><para> | 927 | <listitem><para> |
| 921 | <link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link> | 928 | <link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename>:</link> |
| 929 | The maximum number of threads BitBake simultaneously executes. | ||
| 922 | </para></listitem> | 930 | </para></listitem> |
| 923 | <listitem><para> | 931 | <listitem><para> |
| 924 | <ulink url='&YOCTO_DOCS_BB_URL;#var-BB_NUMBER_PARSE_THREADS'><filename>BB_NUMBER_PARSE_THREADS</filename></ulink> | 932 | <ulink url='&YOCTO_DOCS_BB_URL;#var-BB_NUMBER_PARSE_THREADS'><filename>BB_NUMBER_PARSE_THREADS</filename>:</ulink> |
| 933 | The number of threads BitBake uses during parsing. | ||
| 925 | </para></listitem> | 934 | </para></listitem> |
| 926 | <listitem><para> | 935 | <listitem><para> |
| 927 | <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link> | 936 | <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename>:</link> |
| 937 | Extra options passed to the <filename>make</filename> command | ||
| 938 | during the | ||
| 939 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | ||
| 940 | task in order to specify parallel compilation on the | ||
| 941 | local build host. | ||
| 942 | </para></listitem> | ||
| 943 | <listitem><para> | ||
| 944 | <link linkend='var-PARALLEL_MAKEINST'><filename>PARALLEL_MAKEINST</filename>:</link> | ||
| 945 | Extra options passed to the <filename>make</filename> command | ||
| 946 | during the | ||
| 947 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | ||
| 948 | task in order to specify parallel installation on the | ||
| 949 | local build host. | ||
| 928 | </para></listitem> | 950 | </para></listitem> |
| 929 | </itemizedlist> | 951 | </itemizedlist> |
| 930 | These three variables all scale to the number of processor cores | 952 | As mentioned, these variables all scale to the number of processor |
| 931 | available on the build system. | 953 | cores available on the build system. |
| 932 | This auto-scaling ensures that the build system fundamentally takes | 954 | For single socket systems, this auto-scaling ensures that the build |
| 933 | advantage of potential parallel operations during the build | 955 | system fundamentally takes advantage of potential parallel operations |
| 934 | based on the build machine's capabilities. | 956 | during the build based on the build machine's capabilities. |
| 935 | </para> | 957 | </para> |
| 936 | 958 | ||
| 937 | <para> | 959 | <para> |
| 938 | If you need to achieve even faster builds than what the build system | 960 | Following are additional factors that can affect build speed: |
| 939 | produces by default, you can consider and implement some of the | ||
| 940 | following: | ||
| 941 | <itemizedlist> | 961 | <itemizedlist> |
| 942 | <listitem><para> | 962 | <listitem><para> |
| 943 | <filename>BB_NUMBER_THREADS</filename>, | ||
| 944 | <filename>BB_NUMBER_PARSE_THREADS</filename>, and | ||
| 945 | <filename>PARALLEL_MAKE</filename>: | ||
| 946 | As previously mentioned, the build system scales the values | ||
| 947 | for these variables so you should probably not override | ||
| 948 | these to try to speed up a build. | ||
| 949 | However, for completeness regarding this list, it is worth | ||
| 950 | mentioning that you can manually override these variables | ||
| 951 | by setting them in your <filename>local.conf</filename> file. | ||
| 952 | </para></listitem> | ||
| 953 | <listitem><para> | ||
| 954 | File system type: | 963 | File system type: |
| 955 | The file system type that the build is being performed on can | 964 | The file system type that the build is being performed on can |
| 956 | also influence performance. | 965 | also influence performance. |
| @@ -981,7 +990,9 @@ | |||
| 981 | helps. | 990 | helps. |
| 982 | </para></listitem> | 991 | </para></listitem> |
| 983 | <listitem><para> | 992 | <listitem><para> |
| 984 | Using <filename>/tmp</filename> as a temporary file system: | 993 | Using <filename>tmpfs</filename> for |
| 994 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | ||
| 995 | as a temporary file system: | ||
| 985 | While this can help speed up the build, the benefits are | 996 | While this can help speed up the build, the benefits are |
| 986 | limited due to the compiler using | 997 | limited due to the compiler using |
| 987 | <filename>-pipe</filename>. | 998 | <filename>-pipe</filename>. |
| @@ -1014,6 +1025,11 @@ | |||
| 1014 | mind that can help you speed up the build: | 1025 | mind that can help you speed up the build: |
| 1015 | <itemizedlist> | 1026 | <itemizedlist> |
| 1016 | <listitem><para> | 1027 | <listitem><para> |
| 1028 | Remove items from | ||
| 1029 | <link linkend='var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></link> | ||
| 1030 | that you might not need. | ||
| 1031 | </para></listitem> | ||
| 1032 | <listitem><para> | ||
| 1017 | Exclude debug symbols and other debug information: | 1033 | Exclude debug symbols and other debug information: |
| 1018 | If you do not need these symbols and other debug information, | 1034 | If you do not need these symbols and other debug information, |
| 1019 | disabling the <filename>*-dbg</filename> package generation | 1035 | disabling the <filename>*-dbg</filename> package generation |
