make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: GNU make CPU utilization in cloud environments


From: Tamás Fülöp
Subject: RE: GNU make CPU utilization in cloud environments
Date: Wed, 17 Feb 2016 14:51:57 +0100

Hello everyone,

I have played with the "-j" switch, but it did not affect the performance. I have tried with "-j 2", "-j" and without "-j" options, none of these improved the performance. I have also tried to set the priority level of the make.exe to "High" and "RealTime", but the CPU utilization still sits under 1%. Both 3.81 and 4.1.1 version of GNU make were tried and I am experiencing the same results with both versions.

The original bare make command which I have been using:

make -j -f Makefile 

This command utilizes at least 80% of the CPU on a local machine, but not in the cloud environment.

Reworking the make files is not an option, because we have a tons of them. :(

Thank you for the quick response!

Best regards,

Tamas Fulop

> Subject: Re: GNU make CPU utilization in cloud environments
> From: address@hidden
> To: address@hidden; address@hidden
> Date: Wed, 17 Feb 2016 08:25:55 -0500
>
> On Wed, 2016-02-17 at 10:35 +0100, Tamás Fülöp wrote:
> > I am experiencing problems with the GNU make 3.81 in Amazon-like cloud
> > environment. The "make.exe" does not utilizes the virtual CPUs, the
> > utilization sits around 1% and that makes the building process really
> > slow.
>
> You haven't given us enough information to respond. First, are you
> using the "-jN" flag (where N is some value related to the number of CPU
> cores you have)? Are you using any other flags with your make?
>
> Second, is your makefile environment recursive (with make recipes
> invoking sub-makes), or is it non-recursive (one make process loads all
> the makefiles)? If it's recursive, are you sure you're using the
> $(MAKE) variable to start your sub-makes?
>
>
> In versions of GNU make prior to 4.0, the "job server" feature of GNU
> make was not supported on Windows. This means that if your makefile is
> very recursive you will get very little parallelism in those versions
> regardless of how large your value is for "-j".
>
> If you want more parallelism you'll have to either (a) upgrade to a
> newer version of GNU make, or (b) rework your makefiles so they're non
> -recursive.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]