- Timestamp:
- 12/05/2023 05:12:55 AM (9 months ago)
- Branches:
- xry111/arm64
- Children:
- 00de269
- Parents:
- 6b6a1b9 (diff), dc8572f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- chapter04
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter04/aboutsbus.xml
r6b6a1b9 r73d91ac 38 38 39 39 <note> 40 <para>For many modern systems with multiple processors (or cores) the41 compilation time for a package can be reduced by performing a "parallel42 make" by either setting an environment variable or telling the43 <command>make</command> program how many processors are available. For44 instance, an Intel i5-6500 CPU can support four simultaneous processes with:</para>45 46 <screen role="nodump"><userinput>export MAKEFLAGS='-j4'</userinput></screen>47 48 <para>or by building with:</para>49 50 <screen role="nodump"><userinput>make -j4</userinput></screen>51 52 40 <para>When multiple processors are used in this way, the SBU units in the 53 41 book will vary even more than they normally would. In some cases, the make -
chapter04/settingenviron.xml
r6b6a1b9 r73d91ac 196 196 </important> 197 197 198 <para> 199 For many modern systems with multiple processors (or cores) the 200 compilation time for a package can be reduced by performing a "parallel 201 make" by telling the make program how many processors are available via 202 a command line option or an environment variable. For instance, an Intel 203 Core i9-13900K processor has 8 P (performance) cores and 204 16 E (efficiency) cores, and a P core can simultaneously run two threads 205 so each P core are modeled as two logical cores by the Linux kernel. 206 As the result there are 32 logical cores in total. One obvious way to 207 use all these logical cores is allowing <command>make</command> to spawn 208 up to 32 build jobs. This can be done by passing the 209 <parameter>-j32</parameter> option to <command>make</command>: 210 </para> 211 212 <screen role='nodump'><userinput>make -j32</userinput></screen> 213 214 <para> 215 Or set the <envar>MAKEFLAGS</envar> environment variable and its 216 content will be automatically used by <command>make</command> as 217 command line options: 218 </para> 219 220 <screen role='nodump'><userinput>export MAKEFLAGS=-j32</userinput></screen> 221 222 <important> 223 <para> 224 Never pass a <parameter>-j</parameter> option without a number to 225 <command>make</command> or set such an option in 226 <envar>MAKEFLAGS</envar>. Doing so will allow <command>make</command> 227 to spawn infinite build jobs and cause system stability problems. 228 </para> 229 </important> 230 231 <para> 232 To use all logical cores available for building packages in 233 <xref linkend='chapter-cross-tools'/> and 234 <xref linkend='chapter-temporary-tools'/>, set <envar>MAKEFLAGS</envar> 235 now in <filename>.bashrc</filename>: 236 </para> 237 238 <screen><userinput>cat >> ~/.bashrc << "EOF" 239 <literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal> 240 EOF</userinput></screen> 241 242 <para> 243 Replace <replaceable>$(nproc)</replaceable> with the number of logical 244 cores you want to use if you don't want to use all the logical cores. 245 </para> 246 198 247 <para>Finally, to ensure the environment is fully prepared for building the 199 248 temporary tools, force the <command>bash</command> shell to read
Note:
See TracChangeset
for help on using the changeset viewer.