GCC Multi-Threading Ideas

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Fri Jan 24 19:09:00 GMT 2020


On 24/01/2020 10:27, Jonathan Wakely wrote:
> On Fri, 24 Jan 2020 at 03:39, Nicholas Krause <xerofoify@gmail.com> wrote:
>> Sorry for the second message Allan but make -j does not scale well
>> beyond 4 or
>> 8 threads and that's considering a 4 core or 8 machine. The problem has to
>> do with large build machines with CPUs with more cores than this or as
>> is becoming
>> more common on mainstream systems.
> 
> And make scales well beyond 8 processes (not threads) on such machines.
> 

The problem isn't make, per se, or even gcc.  It's the build system as a 
whole.

On a highly multi-core machine, gcc itself hits the bottle-neck called 
configure.  That's serial, run *many* times (especially when there are 
many multilibs) and dominates build time.

On high multi-core machines, gcc's 15-minute system load gets no-where 
near to the number of threads on the machine because of this.

R.



More information about the Gcc mailing list