On Fri, 13 Nov 2009 17:38:20 +0100, Alexander Kaupp wrote about [Lazarus] make option -j:
> I dont know if everyone knows this: > > I have a dualcore CPU now and was wondering how to use both cores for > compiling for example lazarus. > > make -j2 all > > uses both cpus and works great with lazarus :) > > for a quad-core use option: -j4 > > hope someone finds this useful This is not wholly dependent on having an SMP hardware configuration. Even on a uniprocessor system, make can be accelerated by specifying -j2 or -j3 or even higher. This is because it is not the make program exploiting multiple processes but the Linux (or other) kernel having multiple processes to despatch (or "schedule", as UNIX boffins misname this). It doesn't need multiple CPUs, just time-slicing and enough RAM. Of course, the more processor cores you have on your system, the higher the number that can sensibly follow -j. The rule-of-thumb I use for make is: 1. Let n denote the number of CPUs installed on the system. 2. Try 3*n+2 for the number to follow -j. 3. If that number seems too high, typically by causing paging, then try 2*n+1 instead. So, for a monadic system, I try -j5 first, then -j3 if the machine pages. For a dyadic system, I try -j8 first, then -j5 if the machine pages. For a tetradic system, I try -j14 first, then -j9 if the machine pages. ... And so on. But that is not a hard and fast rule, just a rule-of-thumb. Note: ===== Monadic = 1 CPU Dyadic = 2 CPUs Tetradic = 4 CPUs These terms came into use in the 1960s when mainframes first acquired SMP (or "polyadic") configurations. My dream is to have a hexadekadic box under my desk!! You should now be able to work out what that means, from the above. ... ;-) -- Regards, Dave [RLU #314465] ======================================================================= [email protected] (David W Noon) ======================================================================= -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
